Давайте рассмотрим из-за чего может перерендериваться компонент?
Возможно, вы слышали такое утверждение: «Компонент перерисовывается, когда
его пропсы меняются». Это одно из самых распространенных заблуждений в
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 людям.