Создает ли React Redux всю виртуальную модель DOM каждый раз, когда действие отправляется из Store?

Разве это не очень дорогое дело?

Например, если я нажал кнопку, которая что-то переключает ... Нужно ли React воссоздавать всю виртуальную модель DOM только для этого одного действия, а также различать его?

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

Ответы 1

Когда вы вызываете connect React Redux для компонентов, вы оборачиваете их в компонент под названием Connect. Компонент считывает хранилище из контекста <Provider>. Когда вы отправляете действие, хранилище Redux обновляется, что приводит к тому, что все компоненты connect-ed получают новые реквизиты (те, которые определены в mapStateToProps во время обновления хранилища.

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

Остальное следует обычным правилам рендеринга React. Если оболочка HOC подключенного компонента подписывается на поле хранилища, которое изменилось, она обновится и вызовет повторную визуализацию подключенного компонента. Вы можете реализовать shouldComponentUpdate в подключенном компоненте, если не хотите, чтобы он повторно отображался.

Использованная литература:

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