Керування станом · Senior · Запитання 2 з 75
Що не так із цим getSnapshot?
useSyncExternalStore(subscribe, () => ({ items: store.items }));- ✓Правильна відповідь: Він повертає новий об'єкт при кожному виклику, React бачить нескінченні зміни й зациклюється
- 2
getSnapshotмає бути асинхронним - 3Знімки не можуть містити масиви
Пояснення
React багаторазово викликає getSnapshot і порівнює результати через Object.is; новий об'єкт щоразу означає «змінилося», що спричиняє нескінченні ререндери. Повертайте закешоване/іммутабельне значення зі стору (або примітив).