при перерисовке родителя, дочерние должны быть обернуты в HOC React.memo. В этом случае, мой компонент перестанет перерисовываться с родителем, а будет перерисовываться только при именениях пропсов или своего стейта. Все верно? Если ошибаюсь, то как мне имитировать shouldComponentUpdate с функциональными компонентами, ибо нашел только вариант с React.memo
В целом все верно. Но не всегда себя оправдывает React.memo. Иногда лучше дать реакту сделать ререндер, потому что в Доме обновятся только изменившиеся ноды, а таких может и не оказаться
То есть, если не оборачивать в React.memo , произойдет перерисовка вместе с родительским компонентом (грубо говоря сработает componentDidUpdate), но на уровне DOM дерева ничего не поменяется, и смысла в оборачивании в React.memo особо нет, все верно?
Относительно Будет изменяться дерево виртуального дома
В упрощённом варианте да. В мемо хорошо оборачивать тяжёлый какой-то компонент с расчетами внутри, но у которого скорее всего не будут изменяться пропсы.
И вот тебе статья ещё https://overreacted.io/before-you-memo/
Обсуждают сегодня