| Phase | Main Topic | Content & Tools | Product Goal |
|---|---|---|---|
| 1 | Web Foundations |
|
Create a simple static website using modern HTML, CSS, and JavaScript. |
| 2 | Development Tools |
|
Set up a new project using Vite and use Git for version control. |
| 3 | React - Fundamentals |
|
Build a basic React component that displays data using props and manages its own state. |
| 4 | Hooks & Component Lifecycle |
|
Refactor a class component into a functional component using `useState` and `useEffect`. |
| 5 | Global State Management |
|
Create a small application that shares state between multiple components using the Context API. |
| 6 | Routing & API Interaction |
|
Build a multi-page application using React Router and fetch data from a public API. |
| 7 | Testing |
|
Write unit tests for a React component to ensure it renders correctly. |
| 8 | Optimization & Ecosystem |
|
Optimize a React application and explore a component library like Material-UI. |
Core Mindsets for React Developers
1. Think in Components
Break down the UI into independent, reusable components. Each component has a single responsibility and manages its own state.
2. One-Way Data Flow
Data flows down from parent to child components via props. This makes the application more predictable, easier to debug, and maintain.
3. State is the Single Source of Truth
The UI is a function of the state. Change the state, and React will automatically update the UI. Focus on managing state effectively.
4. Declarative, Not Imperative
Describe what the UI *should* look like for any given state, and let React do the rest. Don't manipulate the DOM directly.