Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript React不向组件发送值_Javascript_Reactjs_React Proptypes - Fatal编程技术网

Javascript 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

我是react的新手,为了训练,我正在做一个简单的项目,对书籍进行排名。现在,用户输入他或她想要投票的书。如果输入为空,我将返回一条错误消息,但如果不是,它将返回一条成功消息

以下是输入:

<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}
/>