#такое дня
2011 год: You Might Not Need jQuery aka Возможно, вам не нужен jQuery
2024 год: You Might Not Need an Effect aka Возможно, вам не нужен (хук use-) Effect
Как мы дошли до жизни такой, котаны? 🫠
Ладно, вообще, статья по делу написано. Учитывая скорый выход React 19, обзор фишек которого я скоро проведу, это всё имеет смысл:
1. Не используйте useEffect чтобы обновить стейт, зависящий от других стейтов. Сюда же: не применяйте цепочки useEffect (один за одним).
2. Для тяжёлых операций используйте useMemo.
3. Запросы делайте в обработчиках событий, а не по хранимому в стейте флагу.
4. Не надо забывать, что компонент верхнего уровня — App — это всё ещё компонент, который может перемаунтиться (например, по ошибке).
Если что-то должно произойти всего раз за жизненный цикл приложения — определяйте флаги (didInit) за пределами компонента.
5. Постарайтесь избегать передачи данных от дочернего компонента к родительскому.
В статье прекрасные примеры. В сотый раз повторю: обновлённая документация по React — это лучший учебник.
Старая была полным дерьмом, я согласен. Именно по этой причине родилась туча инфоцыган-менторов. Сейчас всё хорошо.
#react #effect
Post #2548
3.38K
- ❤ 22
- 👍 6