Я заметил, что getDerivedStateFromProps
компонента React вызывается как минимум в 2 случаях:
- при смене реквизита, например, компонент импортирует данные хранилища Redux через реквизиты компонента, когдаХранилище Redux получило новые данные от внешнего API (либо в результате запроса, инициированного компонентом, либо в виде толчка от внешнего события)
- при вызове компонента
setState
, например, пользователь может обновить данныев некотором элементе компонента, и это обновление обрабатывается процедурой, которая вызывает setState
. - , она также вызывается во время навигации, когда изменяются параметры props.match.params ....
Итак - я хотел бы определить причину (1. или 2.) getDerivedStateFromProps
и совершить отдельные действия в каждом случае.Как можно сделать такое различие.Может быть, это невозможно сделать.Или, может быть, моя архитектура несовершенна, если я хочу это сделать?
Основная проблема для меня - как передать бизнес-объект из хранилища с избыточностью (на которое указывает props
компонента)в this.state
какого-либо компонента для дальнейших локальных манипуляций?
Моя предыдущая попытка описана в вопросе ReactJS setState конфликтует с getDerivedStateFromProps , в котором доступны более конкретные примеры кода.