Встречается на собеседованиях • сегодня

При каких условиях useSelector вызовит Selector

useSelector вызовет переданный селектор в двух случаях:

  1. При первом рендере компонента, чтобы получить начальное значение из хранилища.
  2. При изменении ссылки на результат селектора (по сравнению с предыдущим вызовом). React-Redux использует строгое сравнение (===), поэтому даже если данные не изменились по содержанию, но изменилась ссылка - селектор вызовется снова.

Пример:

jsx
const selectItems = state => state.items; // вызовется при каждом изменении state.items
const selectItemsLength = state => state.items.length; // вызовется только при изменении длины массива

Для оптимизации можно использовать мемоизированные селекторы (например, с reselect) или передавать функцию сравнения вторым аргументом в useSelector.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы