#reactjs #react-redux
#reactjs #реагировать-redux
Вопрос:
Я использую React 16.8.4 в своем приложении, и мне действительно нужно использовать nextProps в некоторых случаях. Как упоминается в документах React, 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 (), но я не хочу получать предварительные запросы, я ХОЧУ СЛЕДУЮЩИЙ РЕКВИЗИТ!
Не могли бы вы, ребята, помочь?
Ответ №1:
this.props
in componentDidUpdate
будет таким же, как nextProps
в componentWillReceiveProps
, так что вы могли бы это использовать.
// componentWillReceiveProps(nextProps) {
// if (nextProps.someProp !== this.props.someProp) {
// doSomething();
// }
// }
componentDidUpdate(prevProps) {
if (this.props.someProp !== prevProps.someProp) {
doSomething();
}
}
Ответ №2:
Вы можете использовать getDerivedStateFromProps
вместо componentWillReceiveProps
.
Комментарии:
1. Не могли бы вы добавить немного контекста, пожалуйста? Это точно то же самое?