javascript - TypeError : _this. props.menuData 不是reactjs中的函数

标签 javascript reactjs ecmascript-6

我试图在提交时从子组件传递一个对象,但我是 出现上述错误

下面是子组件和父组件中的代码

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

<OlmiGridNavMenu  menuData={this.menuData} />

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

最佳答案

在从父组件发送 menuData 函数作为 props 之前,将 this 绑定(bind)到该 props。

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

或者您可以将其绑定(bind)到类构造函数中的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>
        );
   }
}

关于javascript - TypeError : _this. props.menuData 不是reactjs中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60842789/

相关文章:

javascript - 编写异步/等待版本的 promise

javascript - 页面顶部生成额外的空白?

javascript - Webpack 构建时不包含对等依赖项

javascript - 如何在沙发应用程序中使用 couch.js?

javascript - 使用单个事件处理程序更改多个文本框值

reactjs - 使用 Typescript 的 React 组件中的默认函数值

javascript - ES6 类中的继承和原型(prototype)链

javascript - 在对象属性上创建或添加数字的最佳方法

javascript - ES6 生成器函数中星号 (*) 的用途是什么

javascript - 为什么要将 dist 存储在 github repo 和 npm 中?