假设我的componentDidUpdate()中有多个条件:
componentDidUpdate(prevProps, prevState) {
if (prevState.something !== this.state.something) {
// do something
}
if (prevProps.something !== this.props.something) {
// do something
}
}
我想如果组件更新时有很多prevState / prevProps比较,它可以长得很长。
是否有更好的方法来组织其中的代码或这是它的方式?
没有其他方法可以减少代码。相反,你可以做的是将所有东西都存储在一个状态中,就像一个数组。因此,您只能使用一个状态来更新组件。
考虑存在称为存储以下数据的状态。
something: {
var1: "...",
var2: "...",
arr: [ "var1": "...",
"var2": "..."
],
num1: '20',
.... };
这样你只能打一次如下,否则你可以多次打电话:
componentDidUpdate (prevProps) {
if (prevProps.something !== this.props.something) {
...
}
}