Керування станом · Junior · Запитання 6 з 75
Навіщо передавати функцію в useState(() => createInitialTodos())?
- ✓Правильна відповідь: Щоб дороге обчислення виконалося лише на першому рендері
- 2Щоб стан став доступним лише для читання після ініціалізації
- 3Щоб початкове значення завантажилося асинхронно із сервера
Пояснення
useState(createInitialTodos()) викликає функцію на кожному рендері, хоча результат потрібен один раз. Лінивий ініціалізатор useState(createInitialTodos) викликається лише під час монтування. Він має бути синхронним і чистим.