Javascript React不向组件发送值
我是react的新手,为了训练,我正在做一个简单的项目,对书籍进行排名。现在,用户输入他或她想要投票的书。如果输入为空,我将返回一条错误消息,但如果不是,它将返回一条成功消息 以下是输入:Javascript React不向组件发送值,javascript,reactjs,react-proptypes,Javascript,Reactjs,React Proptypes,我是react的新手,为了训练,我正在做一个简单的项目,对书籍进行排名。现在,用户输入他或她想要投票的书。如果输入为空,我将返回一条错误消息,但如果不是,它将返回一条成功消息 以下是输入: <form onSubmit={this.onSubmit}> <input ref={input => this.input = input} /><br /> <button type="submit">Tell us</bu
<form onSubmit={this.onSubmit}>
<input ref={input => this.input = input} /><br />
<button type="submit">Tell us</button>
</form>
我发送messagesuces
变量的组件将只检查它是真还是假。如果为true,则返回success消息。如果不是,则显示错误消息。守则:
class DialogModal extends React.Component {
render() {
//Return's nothing if it's show property is false.
if (!this.props.show) {
return null;
}
//Return message of sucess or error.
return (
<div>
{this.props.messageSucess ? (
<div className="Modal">
<div className="Modal-Body sucess-message">
<br/>Thanks vor voting {this.props.children}, we will tell everybody about this sweet piece of violence.
</div>
</div>
) : (
<div className="Modal">
<div className="Modal-Body error-message">
<br />Please, enter the book you want to vote for.
</div>
</div>
)}
</div>
);
}
}
DialogModal.propTypes = {
onClose: PropTypes.func.isRequired,
show: PropTypes.bool,
messageSucess: PropTypes.bool,
children: PropTypes.node
};
export default DialogModal;
onClose
事件只会将show属性更改为其逆属性。我检查是否正确导入了所有内容。您需要将MessageSuccess属性传递给对话框,如
<DialogModal
show={this.state.openDialog}
onClose={this.modalOpened}
messageSucess={this.state.messageSucess}
/>
您需要将MessageSuccess属性传递给对话框,如
<DialogModal
show={this.state.openDialog}
onClose={this.modalOpened}
messageSucess={this.state.messageSucess}
/>
你能更新你的帖子,包括你添加对话框组件的部分吗?你在哪里设置this.props.show
?更新,@striped需要更多信息,但是你有一个小错误onSubmit={this.onSubmit.bind(this)}
而不是onSubmit={this.onSubmit}
@Damien,它是openDialog变量的值。我在问题中添加了一些代码,你现在可以查看了。你可以更新你的帖子,包括添加对话框组件的部分吗?你在哪里设置this.props.show
?更新,@striped需要更多信息,但是你有一个小错误onSubmit={this.onSubmit.bind(this)}
而不是onSubmit={this.onSubmit}
@Damien,这是openDialog变量的值。我在问题中添加了一些代码,您现在可以查看了。非常感谢,@Striped.happy to help,happy coding:)非常感谢,@Striped.happy to help,happy coding:)
<DialogModal
show={this.state.openDialog}
onClose={this.modalOpened}
messageSucess={this.state.messageSucess}
/>