Javascript 具有prevState Comparison的componentDidUpdate正在处理备用触发器

Javascript 具有prevState Comparison的componentDidUpdate正在处理备用触发器,javascript,reactjs,jsx,Javascript,Reactjs,Jsx,我有一个主组件,它用一些道具调用另一个组件 // Main Component <AnotherComponent className="EnterNumber-input" submitClicked={this.state.submitClicked} /> 问题-此警报在交替单击按钮时可见 要求-每次点击按钮都会出现警告。违规行为: “如果(this.props.submitClicked&&this.props.submitClicke

我有一个主组件,它用一些道具调用另一个组件

// Main Component

<AnotherComponent
    className="EnterNumber-input"
    submitClicked={this.state.submitClicked}
/>
问题-此警报在交替单击按钮时可见

要求-每次点击按钮都会出现警告。

违规行为: “如果(this.props.submitClicked&&this.props.submitClicked!==prevProps.submitClicked){”

由于this.props.submitClicked是布尔值,因此每隔一次单击,即当submitClicked状态为false时,显示警报所需的条件之一为false,因此不会触发警报。由于this.props.submitClicked是布尔值,即使定义了该值,如果该值为false,this.props.submitClicked也会进行计算这是错误的

编辑:

如果要检查是否定义了this.props.submitClicked,请使用: typeof this.props.submitClicked!=“未定义”

<button 
    onClick={async () => {
         await this.setState({submitClicked : !this.state.submitClicked}); 
    }}
>
         Toggle SubmitClicked
</button>
componentDidUpdate = (prevProps) => {
        if (this.props.submitClicked && this.props.submitClicked !== prevProps.submitClicked) {
            alert('This alert is being called on alternate changes');
        }
      };