0
这是否被认为是反模式?我可以访问状态中的其他状态变量吗?
state = {
a: true,
b: !this.state.a,
}
如果没有,我怎么能做到这一点,因为this.state
内state
是undefined
?
这是否被认为是反模式?我可以访问状态中的其他状态变量吗?
state = {
a: true,
b: !this.state.a,
}
如果没有,我怎么能做到这一点,因为this.state
内state
是undefined
?
如果b
可能源自a
,则不应同时存储a
和b
状态。
不需要的状态是一种不好的做法 - 一种代码气味,如果你喜欢这样命名 - 这可以使你的组件类更难。尝试考虑避免和重构组件类以避免创建不需要的状态。永远记住真相原理的单一来源 - 它可以让你的组件类更容易编写和维护。请记住,每个非规范化的状态字段都是一个可能的错误向量。
编号:http://reactkungfu.com/2015/09/common-react-dot-js-mistakes-unneeded-state/
作为一种理论实践,完全同意。但是,这完全忽略了许多推导过程昂贵的现实。 – Alexander
同意你俩。我也有一种感觉,我应该避免派生状态变量,但手动派生过程是昂贵的。 –