我的两个组件彼此通信时遇到了一些麻烦。在我的父组件中,我将道具传递给Modal(子组件),如下所示:
<ReopenRequestModal
{...this.state.ReopenModalData}
show={this.state.isReopenModalShown}
onHide={this.closeReopenModal}
onReopenRequestSubmitClick={this.changeSignOffStatus}
userInfo={this.props.userInfo}
/>
然后在我的子组件中,我试图验证文本区域是否具有&lt;用户通过单击按钮提交之前的20个字符:
<ActionButton
className="default"
buttonText="SUBMIT"
onClick={ () =>
(this.state.value < 20 ?
this.props.dispatch(notificationActions.addInfoNotification({
title: 'Warning',
message: 'Justification text should be at least 20 characters long',
})) : this.props.onReopenRequestSubmitClick)}
/>
我使用回调功能,因此只有在点击实际按钮时才会触发。 this.props.dispatch
函数按预期工作,但this.props.onReopenRequestSubmitClick
(位于父组件中)不起作用。我可以让两个动作都能自己动作,但是当我尝试使用三元运算符将两者合并时,它就不起作用了。我是以错误的方式解决这个问题吗?
答案 0 :(得分:4)
您没有调用此功能。在()
:
this.props.onReopenRequestSubmitClick
<ActionButton
className="default"
buttonText="SUBMIT"
onClick={ () =>
(this.state.value < 20 ?
this.props.dispatch(notificationActions.addInfoNotification({
title: 'Warning',
message: 'Justification text should be at least 20 characters long',
})) : this.props.onReopenRequestSubmitClick() )}
/>