简体   繁体   English

类型错误:_this.props.menuData 不是 reactjs 中的函数

[英]TypeError: _this.props.menuData is not a function in reactjs

I am trying to pass a object from child component on submit, but i am getting the above error我试图在提交时从子组件传递一个对象,但出现上述错误

Below is the code in child and parent component下面是子组件和父组件中的代码

overideChange = (e) => {
      let menuObj = {
            currency: e.target.currency.value
      }
      this.props.menuData(menuObj);             
}

<OlmiGridNavMenu  menuData={this.menuData} />

menuData(data) {
      console.log('data--->', data);
}

你需要绑定this

<OlmiGridNavMenu  menuData={this.menuData.bind(this)} />

Before sending menuData function as props from parent component, bind this to that props.在从父组件发送menuData函数作为 props 之前,将this绑定到那个 props。

<OlmiGridNavMenu  menuData={this.menuData.bind(this)} />

or you can bind this to menuData in the class constructor.或者您可以将其绑定到类构造函数中的menuData

class ParentComponent extends React.Component {
    constructor(props) {
        super(props);
        this.menuData = this.menuData.bind(this);
    }

    menuData(data) {
        console.log(data)
    }

   render() {
        return(
            <div>
                <OlmiGridNavMenu  menuData={this.menuData} />
            </div>
        );
   }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM