1 Есть поиск такого вида /filter/phone/:number
2 Есть редактирование /edit/phone/:number
При открытии 1 ссылки в componentWillReciveProps смотрю все-ли props пришли, если да, то запускаю функцию, которая делает фильтр по number.
Открываю 1 ссылку выбираю запись и переход на 2 ссылку. Делаю переход назад и открывается старая страница, в адресной строке появляется 1 адрес, но фильтр по number нет происходит componentDidMount, componentWillReciveProps не запускаются при переходе назад.
Правка:
componentDidMount работает при переходе назад, но у меня теперь два почти одинаковых кода в componentDidMount и componentWillReciveProps. Нельзя ли как-нибудь переписать componentDidMount чтобы он обработался после получения всех props и только потом компонент рендирился?
Если у вас код в этих функциях похожий, то выделите этот код в отдельную функцию и вызывайте из обоих мест.
На поведения самих функциях обработчиков не думаю что можно как-то повлиять, но даже если можно я бы этого делать не стал так как это сделает код менее понятным, функции обработчики уже будут работать не как ожидается. Лучше использовать их по прямому назначению.
Я в своём коде так постоянно делаю. У меня данные получаются и в конструкторе и при апдейте. Я этот код выношу в отдельную функцию GetData() и вызываю там где это нужно.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей