- cumbersome
- error-prone
- hard to maintain
- React offers simpler "mental model"
- define the target UI state(s) - not the steps to get there. React will figure out and perform the necessary steps
- Components
- JSX
- Props
- State
- Events
- Outputting Content
- Styling
- Hooks
- Debugging
- Refs & Portals
- Side Effectsl
- Advanced Hooks
- Custom Hooks
- Behind the Scenes
- Context API
- Redux
- Routing
- Http Requests
- Authentication
- Unit Testing
- Next.js
- defer in script tag is used to load JS after the HTMLis loaded
- **type='module' in script tag allows you to use import statement in JS files