Керування станом · Middle · Запитання 14 з 75
Чому цей селектор перемальовує компонент при кожній надісланій дії?
const done = useSelector((s) => s.todos.filter((t) => t.done));- ✓Правильна відповідь:
filterщоразу повертає новий масив, тому посилання завжди змінюється - 2
useSelectorзавжди перемальовує при будь-якій дії - 3Селектори не можуть використовувати методи масивів
Пояснення
useSelector перезапускається після кожного dispatch і порівнює результати через ===. Використовуйте мемоізований селектор із createSelector: він повертає той самий масив, доки s.todos не змінився.