React Hook Optimizer
When to Trigger
- •Creating custom hooks
- •Using useEffect
- •Performance issues detected
What to Do
- •useEffect deps: Include all referenced values in the dependency array; use exhaustive-deps rule.
- •Infinite loops: Avoid setting state from effect with that state in deps; use functional updates (e.g. setData(prev => [...prev, item])) or move state out of deps.
- •Re-renders: useMemo for expensive derived values; useCallback for stable callbacks passed to children; React.memo for pure list items when parent re-renders often.
- •Static values: Move constants and static objects outside component to avoid new reference each render.
Suggest concrete code changes. Preserve behavior while fixing correctness and performance.