- Dependency Array: Ensure that you include only necessary dependencies in the dependency array to prevent unnecessary effect executions.
- Cleanup: Use cleanup functions in
useEffect
to avoid memory leaks, especially when dealing with subscriptions or event listeners.
import React, { useEffect } from 'react';
function EffectComponent({ userId }) {
useEffect(() => {
const fetchUserData = async () => {
const response = await fetch(`/api/user/${userId}`);
const data = await response.json();
console.log(data);
};
fetchUserData();
return () => {
console.log('Cleanup code');
};
}, [userId]);
return <div>User ID: {userId}</div>;
}