jsx-eslint/eslint-plugin-react
在 GitHub 查看Add configuration for no-did-update-set-state to allow usage inside condition
Open
#2,021 创建于 2018年10月18日
enhancementhelp wanted
仓库指标
- Star
- (8,630 star)
- PR 合并指标
- (30 天内没有已合并 PR)
描述
As @gaearon has mentioned here and other places, using setState inside componenDidUpdate is acceptable, so long as it's within a conditional check.
Does it seem reasonable to allow a configuration option for this rule to allow setState usage within componenDidUpdate, so long as it's within a conditional check of some kind?
For example, this would pass here:
componentDidUpdate() {
if (!this.state.isEnabled) {
this.setState({ isEnabled: true })
}
}
but this would still fail:
componentDidUpdate() {
this.setState({ isEnabled: true })
}
An issue here would be that it's still not entirely guaranteed that more complex use cases wouldn't still end up in an infinite loop.