Reactjs 使用setState更改状态

Reactjs 使用setState更改状态,reactjs,Reactjs,我想让setState在没有运气的情况下工作。这是下面的代码 类测试扩展了React.Component{ 建造师(道具){ 超级(道具); 此.state={ 无效:null, }; } boolTest=()=>{ this.setState({invalid:true}); }; // ... } 这就是我在表单字段中调用函数的方式 invalid={this.boolTest} 这是错误输出 错误:属性“无效”必须为true、false或null;“未定义” (未定义) 警告:只能更

我想让setState在没有运气的情况下工作。这是下面的代码

类测试扩展了React.Component{
建造师(道具){
超级(道具);
此.state={
无效:null,
};
}
boolTest=()=>{
this.setState({invalid:true});
};
// ...
}
这就是我在表单字段中调用函数的方式

invalid={this.boolTest}
这是错误输出

错误:属性“无效”必须为true、false或null;“未定义” (未定义)

警告:只能更新已安装或正在安装的组件。这通常 意味着您在上调用了setState、replaceState或forceUpdate 未安装的组件。这是禁止的


boolTest
是一个函数,它实际上不会返回您可以使用的值。你实际上想做:

invalid={this.state.invalid}
或者作为一个更清楚的例子:

const { invalid } = this.state;

return (
  <>
    <Button onClick={this.boolTest}
    <Component invalid={invalid} />
  </>
)
const{invalid}=this.state;
返回(

boolTest
是一个函数,它实际上不会返回您可以使用的值。您实际上希望执行以下操作:

invalid={this.state.invalid}
或者作为一个更清楚的例子:

const { invalid } = this.state;

return (
  <>
    <Button onClick={this.boolTest}
    <Component invalid={invalid} />
  </>
)
const{invalid}=this.state;
返回(

您正在将
boolTest
函数赋予
invalid
道具。这真的是您想要的吗?也许您应该将它赋予
onChange
道具或类似的东西,只是为了进行实验。我相信是的。“invalid”是我正在使用的表单组件的属性。我将用onChange进行实验。您正在赋予
boolTest
函数到
无效的
道具。这真的是你想要的吗?也许你应该把它给
onChange
道具或类似的东西,只是为了实验。我相信是的。“无效”是我正在使用的表单组件的属性。我将用onChange进行实验。