在componentDidUpdate中组织多个条件?

问题描述 投票:0回答:1

假设我的componentDidUpdate()中有多个条件:

componentDidUpdate(prevProps, prevState) {
    if (prevState.something !== this.state.something) {
        // do something
    }

    if (prevProps.something !== this.props.something) {
        // do something
    }
}

我想如果组件更新时有很多prevState / prevProps比较,它可以长得很长。

是否有更好的方法来组织其中的代码或这是它的方式?

javascript reactjs
1个回答
0
投票

没有其他方法可以减少代码。相反,你可以做的是将所有东西都存储在一个状态中,就像一个数组。因此,您只能使用一个状态来更新组件。

考虑存在称为存储以下数据的状态。

something: {
    var1: "...",
    var2: "...",
    arr: [ "var1": "...",
           "var2": "..." 
         ],
    num1: '20', 
    .... };

这样你只能打一次如下,否则你可以多次打电话:

componentDidUpdate (prevProps) {
    if (prevProps.something !== this.props.something) {
      ...
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.