如何给react里面一个子组件绑定事件?

子组件的代码:

class AppDmx extends React.Component{

recursion() {
    var menuArr=[];
    for(var i=0;i<JsonDmx.length;i++)
    {
      menuArr[i]=React.createElement(Menu.Item,{key:""+i+1+""},JsonDmx[i]);
    }
    return menuArr;
}
render(){
    return (
        <div >
            <Menu style={{overflow:"auto",height:200}}>
                {
                    this.recursion()
                }
            </Menu>
        </div>
    );
}

};

在父组件里面的引用:
<Dropdown.Button size="large" overlay={<AppDmx onCilck={this.props.selectMenuDown}></AppDmx>}>
{this.state.dropDmxText}
</Dropdown.Button>

现在我在父组件里面给了子组件一个onClick 但是这个seletMenuDown 无法触发, 我想问的是,在我这种情况下,怎样正确的设置点击事件才能触发。

阅读 5.6k
2 个回答

提问用点心,这样的排版真的丑。

外面设置了,里面要用。

    比如这样
   <div onClick={this.props.onClick}>
       <Menu style={{overflow:"auto",height:200}}>
           {
               this.recursion()
           }
       </Menu>
   </div>

React 里面除了原生 HTML 元素之外,你自己的组件是不会自动触发什么 onClick 之类的事件的,需要你自己手动调用父组件通过 props 传入的方法。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题