Why do effects need cleanup functions?
Because if an effect sets up a subscription, timer, or listener, forgetting to clean it up causes memory leaks and stale updates after the component unmounts. Always return a cleanup function for any setup you do.
Verify This Answer
Cross-check this information using these trusted sources:
More FAQs in Best Practices for Using React Hooks Safely
Call hooks at the top level of a component or custom hook, never inside loops, conditions, or nested functions. And only call hooks from React functions. React tracks hooks by call order, so breaking these rules causes subtle bugs.
Because it warns you when you break the rules of hooks or miss dependencies in useEffect. It is the single best safety net for hook usage and should be enabled in every React project.
Include every value used inside the effect in the dependency array, unless it genuinely does not change. Wrong dependencies cause stale data or infinite loops. Let the hooks lint plugin guide you to the correct array.
Still have questions?
Browse all our FAQs or reach out to our support team
