未定义不是React Native中的对象

时间:2018-11-04 01:11:26

标签: react-native

你好,忍者快速问题,我有一个运行以下命令的按钮

onPress={this.props.productStore.closeModal}

但是如果我更改代码以具有功能:

closeModal() { this.props.productStore.closeModal; //alert('close modal'); }

和未定义的按钮触发器onPress={this.closeModal}不是对象。 (this.props.productStore.closeModal是一个mobx存储,它将isModalVisible更新为false)。如果我在closeModal函数中取消注释警报,则警报运行良好。任何解决的帮助表示赞赏。预先感谢

1 个答案:

答案 0 :(得分:0)

在第二个变体中,this.props未定义,因为函数closeModal没有绑定到此。使用以下箭头函数语法:

closeModal = () => {
  this.props.productStore.closeModal();
}

或将函数绑定到此。

onPress={this.closeModal.bind(this)}

我在代码中注意到的另一个问题是您没有调用该函数。您应该调用该函数。

this.props.productStore.closeModal();