在组件函数“无法读取未定义的属性'props”中调用props函数

时间:2018-12-24 10:59:40

标签: javascript reactjs redux

我有一个触发我的onClick功能的按钮:

<button id="closeModal" variant="danger" onClick={ this.onClick }></button>

我的onClick绑定在构造函数中:

this.onClick = this.handleSubmit.bind(this);

然后我要指定要调用两个函数的函数:其中一个是来自props,另一个不是(这是Formik的函数)。

onClick(event) {
    this.handleSubmit.bind(this, values);
    this.props.closeModal;
}

当我将它们切换到位置时,错误Uncaught TypeError: Cannot read property '...' of undefined对于onClick中的两个函数都是相同的。我希望按钮现在触发两个功能。以前,当我只有

<button id="closeModal" variant="danger" onClick={ this.props.closeModal }></button>

一切都很好。您知道如何解决此问题吗?

2 个答案:

答案 0 :(得分:1)

我认为您没有根据代码绑定正确的功能,我希望看到类似的东西

this.onClick = this.onClick.bind(this)

代替

this.onClick = this.handleSubmit.bind(this)

您还需要致电closeModal,所以应该是

this.props.closeModal();

答案 1 :(得分:0)

更改构造函数,然后检查...

来自

this.onClick = this.handleSubmit.bind(this);

this.onClick = this.onClick.bind(this);