Керування станом · Middle · Запитання 21 з 75

Чому селектор, що повертає новий об'єкт, спричиняє зайві ререндери (або нескінченний цикл у v5)?

const { a, b } = useStore((s) => ({ a: s.a, b: s.b }));

Пояснення

Zustand порівнює результати селектора через Object.is. useShallow((s) => ({ a: s.a, b: s.b })) порівнює поля поверхнево й зберігає те саме посилання, якщо вони рівні.

Де почитати

Помилка в запитанні

Керування станом · Middle · запитання 21

Перевірте себе

Пройдіть тест Керування станом · Middle: запитання й варіанти перемішуються, а наприкінці - розбір помилок.

Пройти цей тест