Если в Redux-редюсере есть data, isLoading и error, а компонент выбирает только data, будет ли он перерендериваться при изменении isLoading?

Из-за Redux-подписки — обычно нет, если useSelector возвращает прежнюю ссылку data. Изменение isLoading само по себе недостаточно.

Короткий ответ

Что ответить на собеседовании

Из-за Redux-подписки — обычно нет, если useSelector возвращает прежнюю ссылку data. Изменение isLoading само по себе недостаточно.

Подробный разбор

Ответ с пояснениями

Из-за Redux-подписки — обычно нет, если useSelector возвращает прежнюю ссылку data. Изменение isLoading само по себе недостаточно.

По умолчанию useSelector сравнивает прежний и новый результат через строгое равенство. Если редюсер без причины создаёт новый массив data или selector каждый раз возвращает объект-обёртку, результат изменится и обновление возможно. Компонент также может рендериться из-за родителя, локального состояния или контекста: это отдельные причины.

Источник: react-redux.js.org.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее