What are React Hooks? Explain useState, useEffect, and custom hooks with examples.
🎨 Frontend Web Development• 9/21/2025
Understanding React Hooks, their benefits over class components, and implementation of common hooks like useState and useEffect.
React Hooks Overview
Hooks allow you to use state and lifecycle methods in functional components, introduced in React 16.8.
Benefits
- Simpler than class components
- Better code reusability
- Easier testing
- Better TypeScript support
useState Hook
Basic Usage
const [count, setCount] = useState(0);
Features:
- Manages component state
- Returns current value and setter function
- Can store any type of value
- Multiple state variables allowed
useEffect Hook
Basic Usage
useEffect(() => {
// Effect logic
return () => {
// Cleanup logic
};
}, [dependencies]);
Use Cases:
- Data fetching
- Subscriptions
- Manual DOM changes
- Timers and intervals
Custom Hooks
Benefits:
- Extract component logic
- Share logic between components
- Easier testing and maintenance
- Follow single responsibility principle
Example Custom Hook:
function useLocalStorage(key, initialValue) {
const [value, setValue] = useState(
() => localStorage.getItem(key) || initialValue
);
const setStoredValue = (value) => {
setValue(value);
localStorage.setItem(key, value);
};
return [value, setStoredValue];
}
Rules of Hooks
- Only call hooks at the top level
- Only call hooks from React functions
- Use ESLint plugin to enforce rules
By: System Admin