react/no-will-update-set-state 正确性
它的作用
禁止在 componentWillUpdate 生命周期方法中使用 setState。
为什么这是不好的?
在组件更新阶段更新状态可能导致组件状态不确定,这是不允许的。 这可能会导致你的 React 应用出现意外行为和错误。
示例
此规则的错误代码示例:
jsx
var Hello = createReactClass({
componentWillUpdate: function () {
this.setState({
name: this.props.name.toUpperCase(),
});
},
render: function () {
return <div>Hello {this.state.name}</div>;
},
});此规则的正确代码示例:
jsx
var Hello = createReactClass({
componentWillUpdate: function () {
this.props.prepareHandler();
},
render: function () {
return <div>Hello {this.state.name}</div>;
},
});如何使用
要通过配置文件或 CLI 启用此规则,可以使用:
json
{
"plugins": ["react"],
"rules": {
"react/no-will-update-set-state": "error"
}
}bash
oxlint --deny react/no-will-update-set-state --react-plugin