React components are reusable UI building blocks. Use functional components with hooks for modern React development. Components accept props and can manage local state.
useState for state management, useEffect for side effects, useContext for context API, useRef for DOM references, useMemo and useCallback for performance optimization.
Lift state up for shared data, use Context API for global state, or integrate Redux/Zustand for complex applications. Always treat state as immutable.
useEffect replaces lifecycle methods. Empty dependency array runs once on mount, dependencies trigger on changes, return cleanup function runs on unmount.
Use react-router-dom for navigation. BrowserRouter wraps app, Route defines paths, Link for navigation, useNavigate for programmatic routing, useParams for URL parameters.