UNSAFE_componentWillReceiveProps始终会触发每个输入值更改

时间:2019-01-20 11:46:55

标签: reactjs antd

UNSAFE_componentWillReceiveProps总是针对放置在组件本身中的每个输入值更改触发。

据我所知,仅应基于其父组件的props值更改来触发它。

有人可以帮我一个提示,如果我的理解有误,请纠正我吗?

2 个答案:

答案 0 :(得分:0)

来自React docs

  

使用这种生命周期方法通常会导致错误和不一致。

改为使用componentDidUpdate

componentDidUpdate(prevProps, prevState) {
  if (this.props.someProp != prevProps.someProp) {
    // The property someProp changed
    // Do something in response
  }
}

答案 1 :(得分:0)

componentWillReceiveProps采用类似的参数;

 componentWillReceiveProps(props){
 const {someprop} : this.props;
 if(someprop !== props.someprop){
 //do whatever you want with the refreshed someprop
 }
 }