Самый большой МИФ о ререндере в React

Опубликовано: 15 Март 2024
на канале: Iaroslav Silkin | Front-end
2,168
70

Давайте рассмотрим из-за чего может перерендериваться компонент?

Возможно, вы слышали такое утверждение: «Компонент перерисовывается, когда
его пропсы меняются». Это одно из самых распространенных заблуждений в
React: все в это верят, никто в этом не сомневается, и это не так.

Обычное поведение React заключается в том, что если запускается обновление состояния, React повторно рендерит все вложенные компоненты независимо от их пропсов.

И если обновление state не запускается, то изменение пропсов будет просто "пропущено":
React не контролирует их.

Если у меня есть компонент с пропсами, и я пытаюсь изменить эти пропсами
без обновления состояния, что-то вроде этого:

Это просто не сработает. Когда кнопка нажата, локальная переменная isOpen
изменится. Но жизненный цикл React не запускается, поэтому
вывод рендеринга никогда не обновляется, и ModalDialog никогда не отображается.
вверх

В контексте повторного рендеринга, изменились ли реквизиты на
компонент имеет значение только в одном случае: если указанный компонент обернут в React.memo.

#reactjs
#react
#javascript
#typescript
#usestate
#useeffect
#frontend

Подписывайтесь на телеграмм, будем готовиться к собесам: https://t.me/it_tonylife
Подписывайтесь на boosty: https://boosty.to/maxfri


Смотрите видео Самый большой МИФ о ререндере в React онлайн без регистрации, длительностью часов минут секунд в хорошем качестве. Это видео добавил пользователь Iaroslav Silkin | Front-end 15 Март 2024, не забудьте поделиться им ссылкой с друзьями и знакомыми, на нашем сайте его посмотрели 2,16 раз и оно понравилось 7 людям.