假设我的componentDidUpdate()中有多个条件:
componentDidUpdate(prevProps, prevState) {
if (prevState.something !== this.state.something) {
// do something
}
if (prevProps.something !== this.props.something) {
// do something
}
}
我想如果组件更新时有很多prevState / prevProps比较,它会增长很长的时间。
是否有更好的方法来组织其中的代码,或者只是这样?
答案 0 :(得分:0)
没有其他方法可以减少该代码。相反,您可以做的是将所有内容存储在一个状态中,例如数组。这样您就只能使用一种状态来更新组件。
请考虑一种状态,该状态存储以下数据。
something: {
var1: "...",
var2: "...",
arr: [ "var1": "...",
"var2": "..."
],
num1: '20',
.... };
如下所示,您只能拨打一次,否则可以多次拨打:
componentDidUpdate (prevProps) {
if (prevProps.something !== this.props.something) {
...
}
}