Основная причина, по которой следует отвергать крючки жизненного цикла в React 16 - PullRequest
0 голосов
/ 01 ноября 2018

Я пытаюсь понять основную причину (ы) амортизации componentWillMount / componentWillUpdate / componentWillReceiveProps в react версии 16.

На высоком уровне кажется, что они обесцениваются, потому что их именование побуждает разработчиков делать вызовы API, которые возвращаются после следующих событий жизненного цикла (например, render), и поэтому разработчик должен использовать componentDidX аналог.

По сути, из-за этого эти события жизненного цикла обесцениваются, а componentWillRecieveProps помещается в более точно названный getDerivedStateFromProps, а другие componentDidX методы выталкиваются.

Это правильные рассуждения общего уровня?

1 Ответ

0 голосов
/ 01 ноября 2018

Поскольку React реализует асинхронный рендеринг, это приведет к тому, что в некоторых случаях события жизненного цикла, такие как componentWillMount, будут вызываться более одного раза, поэтому команда React осуждает эти методы и помечает их как UNSAFE.

Вы можете получить более подробную информацию по этой ссылке .

Обновление: в следующем посте есть хорошее объяснение того, как componentWillMount может быть неправильно использован и, следовательно, они помечены основной командой React как небезопасные: Пересмотр использования зацепок жизненного цикла компонентов React в ожидании асинхронной визуализации

...