Подпишите каждый компонент на нужный срез через селектор, но учитывайте: обновление родителя всё равно может вызвать render обычного потомка.
Если у нас есть большой store, состоящий из нескольких частей, и родительский компонент использует одну часть стейта, а дочерний — другую, как обеспечить независимый ре-рендеринг этих компонентов без оборачивания в useMemo?
Подпишите каждый компонент на нужный срез через селектор, но учитывайте: обновление родителя всё равно может вызвать render обычного потомка.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Подпишите каждый компонент на нужный срез через селектор, но учитывайте: обновление родителя всё равно может вызвать render обычного потомка.
В Redux useSelector сравнивает выбранный результат, поэтому не возвращайте новый объект без необходимости. Для изоляции от родительского render применяют React.memo со стабильными props или композицию, при которой обновляющийся компонент не пересоздаёт поддерево. UseMemo не является обязательным решением и не заменяет корректную структуру подписок.