Effects are an escape hatch from React for synchronizing with external systems. Removing unnecessary Effects makes code easier to follow, faster to run, and less error-prone.
| Transform data | Calculate during render | | Expensive calculation | useMemo | | Reset all state on prop | key attribute | | Adjust state on prop | Derive during render | | Share event logic | Extract function, call from handlers | | User events | Event handlers | | External system sync | Effect | | Notify parent | Update in handler or lift state |
| Init once | Module-level or guard variable | | External store | useSyncExternalStore | | Fetch data | Effect with cleanup |
Рекомендации по правильному использованию React useEffect и предотвращению ненужных эффектов. Используйте при написании, проверке или рефакторинге компонентов React, которые используют useEffect, useState или обрабатывают побочные эффекты. Запускается по задачам, включающим эффекты React, производное состояние, обработчики событий, выборку данных или синхронизацию компонентов. Источник: nbbaier/agent-skills.