可以像useEffect一样限制ComponentDidUpdate吗?

时间:2020-05-05 09:45:56

标签: reactjs

我们可以在componentDidUpdate中执行以下操作吗?

useEffect(()=>{
console.log(data)
},[data])

假设数据经常更改,因此我们可以在数据更改时进行记录。但是我的问题是我们可以在ComponentDidUpdate中做到吗?如果不是,那么ComponentDidUpdate的用途是什么?

1 个答案:

答案 0 :(得分:2)

useEffectcomponentDidMountcomponentDidUpdate的组合。

现在,根据数据是属性还是状态,您可以在componentDidUpdate

中执行相同的操作

上述useEffect可以在类中编写为

 componentDidMount() {
      console.log(this.props.data);
   }


    componentDidUpdate(prevProps, prevState) {
       if(this.props.data !== prevProps.data) { // use prevState and this.state if data is a state
           console.log(this.props.data)
       }
    }