我试图让setState正常运行。这是下面的代码
class test extends React.Component {
constructor(props) {
super(props);
this.state = {
invalid: null,
};
}
boolTest = () => {
this.setState({ invalid: true });
};
// ...
}
这就是我在表单字段中调用函数的方式
invalid={this.boolTest}
这是错误输出
错误:属性“ invalid”必须为true,false或null;否则为false。得到“未定义” (未定义)
警告:只能更新已安装或正在安装的组件。这通常 表示您在某个位置调用了setState,replaceState或forceUpdate 未安装的组件。这是无人操作。
答案 0 :(得分:2)
boolTest
是一个实际上不会返回您可以使用的值的函数。您实际上想这样做:
invalid={this.state.invalid}
或更清楚的例子:
const { invalid } = this.state;
return (
<>
<Button onClick={this.boolTest}
<Component invalid={invalid} />
</>
)