Що таке лінива ініціалізація стану в useState та useReducer?
Коли початковий стан є результатом виклику якоїсь функції, його можна ініціалізувати "ліниво" для того, щоб при кожному оновленні компонента ця функція не викликалася. Для цього в useState або useReducer потрібно передати функцію, яка поверне початковий стан, і буде викликана лише один раз, під час першого рендеру.