функция fetchTodos которая сэтает в стэйт true в начале и false в конце (сейчас закомментировано), а также фетчит данные из БД и диспатчит их в стэйт.
есть мнение, что просто так функцию fetchTodos в useEffect класть нельзя в связи с тем , что это приведет к некорректной работе(???????), и поэтому мы должны ее обернуть в useCallback и там дополнительно указать на ее асинхронную составляющую, и саму функцию указать в массиве зависимостей.
Если мы раскомментируем showLoader и hideLoader то это приводит к бесконечному перерендеру.
Если мы добавим loadTodos в массив useEffect - такой же бесконечный перерендер
если мы используем fetchTodos напрямую , не указывая его в массиве зависимостей - все кажется работает.
Вопрос: нужно ли оборачивать все-таки fetchTodos в callback ? И для чего если да?
Во 1) нет ничего такого, если ты не будешь пихать функцию в депсы 2) вовторых по идее, даже если запихнёшь, ссылка на функцию не изменится, если ничего не путаю, бесконечного рендера не будет в тетьих 3) то, как ты колбек написал буквально ничего не меняет по сравнению с effect({}, [func]).
Обсуждают сегодня