Closed yarastqt closed 4 years ago
На каждом рендере мы создаем вновь реестры, из-за чего все вложенные компоненты рендерятся по новой (этот поинт описан в докуменетации реакта).
https://github.com/bem/bem-react/blob/4723e3d7175dc1b6d91743682bd2c1774e33475f/packages/di/di.tsx#L27-L43
Пример — https://codepen.io/sartem/pen/wvaNjpO
Можно обернуть RegistryResolver в memo, либо советуют в документации, хранить значения контекста в локальном стейте компонента.
RegistryResolver
memo
Проблема
На каждом рендере мы создаем вновь реестры, из-за чего все вложенные компоненты рендерятся по новой (этот поинт описан в докуменетации реакта).
https://github.com/bem/bem-react/blob/4723e3d7175dc1b6d91743682bd2c1774e33475f/packages/di/di.tsx#L27-L43
Пример — https://codepen.io/sartem/pen/wvaNjpO
Решение
Можно обернуть
RegistryResolver
вmemo
, либо советуют в документации, хранить значения контекста в локальном стейте компонента.