***
Once you're comfortable with the fundamentals, add complexity to your projects.
#### **Topics to Learn**:
- **React Hooks**:
- `useEffect`: Handling side effects like API calls or DOM interactions.
- `useRef`: For accessing DOM elements directly.
- `useReducer`: Alternative to `useState` for managing complex state.
- **List Rendering**:
- Rendering lists with `.map()`.
- Adding keys to maintain list identity.
- **Forms and Inputs**:
- Controlled Components & Input handling.
- Validation in simple forms.
- **React Router**:
- Setting up routes for single-page applications (SPAs).
- Navigating between different components/pages.
#### **Build A Project**:
- A TODO App with the ability to:
- Add, delete, and toggle the completion state of tasks.
- Add routing to see tasks filtered by "Completed" or "Pending".