Самый большой МИФ о ререндере в React #frontend #typescript #javascript #react

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

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

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

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

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

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

В контексте повторного рендеринга, изменились ли реквизиты на

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

Комментарии
Автор

А можно тогда попросить тебя сделать внеочередное более полное разъяснение о react memo, а также об оптимизации в react? Верю что такой видос наберет много лайков и мы будем безмерно благодарны

fuad
Автор

Это не заблуждение, а сокращение формулировки для удобства. Очевидно, что когда говорят об этом, то имеют ввиду изменение состояния в пропсах

pikau
visit shbcf.ru