Interview question
How do you handle side effects with useEffect? useEffect से side effects कैसे handle करते हैं?
Answer
// Basic useEffect
function Component() {
useEffect(() => {
console.log('Component mounted or updated');
});
}
// Run only on mount
function Component() {
useEffect(() => {
fetch('/api/data')
.then(res => res.json())
.then(data => setData(data));
}, []); // Empty dependency array
}
// Run when dependency changes
function Component({ id }) {
useEffect(() => {
fetch(`/api/user/${id}`)
.then(res => res.json())
.then(data => setUser(data));
}, [id]); // Run when id changes
}
// Cleanup function
function Component() {
useEffect(() => {
const timer = setInterval(() => {
console.log('Timer');
}, 1000);
// Cleanup
return () => clearInterval(timer);
}, []);
}useEffect dependency arrays:
[] - Run once on mount
[dep] - Run when dep changes
no array - Run after every renderWas this answer clear?