Будет ли componentDidUpdate срабатывать каждый раз для компонента, который отображает null?

Будет ли componentDidUpdate всегда срабатывать для компонента, который отображает пустой фрагмент/нуль? Он получает редукционно-подключенные реквизиты из родительского контейнера.

Этот компонент должен получить доступ к предыдущим реквизитам и сравнить их, а затем выполнить вызов API на его основе. У него нет пользовательского интерфейса, поэтому он отображает пустой фрагмент (или null)

РЕДАКТИРОВАТЬ : он работает и запускает componentDidUpdate в моем примере приложения. Гарантировано ли, что это поведение всегда? Здесь говорится, что есть шанс, что он не сработает, если в виртуальном DOM не было изменений: Реквизит обновлен, componentDidUpdate не сработал

MyContainer
 |
  -MyComponent

Надеюсь, это поможет вам http://reactjs.org/docs/…

Niraj Kaushal 01.05.2019 10:11
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
1
195
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Да, componentDidUpdate вызывается каждый раз, даже при рендеринге null. Вы можете проверить это в документации по реакции: Жизненный цикл реакции

В документах об этом нигде не упоминалось. Мне пришлось поискать в github реакции, чтобы найти это — github.com/reactjs/reactjs.org/pull/1230/commits/…

Sector0 09.05.2019 05:51

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

Другие вопросы по теме