Как определенно заменить componentWillReceiveProps и продолжать получать nextProps? - PullRequest
1 голос
/ 09 марта 2019

Я использую React 16.8.4 в своем приложении, и мне действительно нужно использовать nextProps в некоторых случаях. Как упоминается в React Docs, componentWillReceiveProps - это НЕ БЕЗОПАСНЫЙ метод, и его больше не рекомендуется использовать.

Я прочитал Документы (https://reactjs.org/blog/2018/06/07/you-probably-dont-need-derived-state.html#recommendation-fully-uncontrolled-component-with-a-key), но я даже не знаю, как портировать мой старый componentWillReceiveProps, используя эту версию с ключами и всем прочим.

Мне не нужно создавать новый экземпляр компонента, мне просто нужно nextProps !!! Я пытался использовать componentDidUpdate (), но я не хочу получать prevProps, Я ХОЧУ СЛЕДУЮЩИЕ PROPS !

Не могли бы вы, ребята, помочь?

Ответы [ 2 ]

2 голосов
/ 09 марта 2019

this.props в componentDidUpdate будет таким же, как nextProps в componentWillReceiveProps, так что вы можете использовать это.

// componentWillReceiveProps(nextProps) {
//   if (nextProps.someProp !== this.props.someProp) {
//     doSomething();
//   }
// }

componentDidUpdate(prevProps) {
  if (this.props.someProp !== prevProps.someProp) {
    doSomething();
  }
}
1 голос
/ 09 марта 2019

Вы можете использовать getDerivedStateFromProps вместо componentWillReceiveProps.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...