Component-Based Design
Learn to design, plan and build frontend applications using a Component-Based approach. You will explore the ReactJS library which is designed to make Component-Based design easy and efficient.
Learning Objectives
Priorities: 🥚, 🐣, 🐥, 🐔 (click to learn more)
There is a lot to learn in this repository. If you can't master all the material
at once, that's expected! Anything you don't master now will always be waiting
for you to review when you need it. These 4 emoji's will help you prioritize
your study time and to measure your progress:
- 🥚: Understanding this material is required, it covers the base skills you'll
need for this module and the next. You do not need to finish all of them but
should feel comfortable that you could with enough time.
- 🐣: You have started all of these exercises and feel you could complete them
all if you just had more time. It may not be easy for you but with effort you
can make it through.
- 🐥: You have studied the examples and started some exercises if you had time.
You should have a big-picture understanding of these concepts/skills, but may
not be confident completing the exercises.
- 🐔: These concepts or skills are not necessary but are related to this module.
If you are finished with 🥚, 🐣 and 🐥 you can use the 🐔 exercises to push
yourself without getting distracted from the module's main objectives.
- recreate an HTML/CSS web page using pure functions components and encapsulated styles
🥚 JSX : you can ...
- functional React components
- render a static page with provided data
- component props
- splitting components with design in mind
🥚functional React components: you can ...
🥚 Render data: you can
🥚 Components and props : you can ...
🥚 Create reusable components: you can ...
- VDOM
- what is a hook
useState
useEffect (any side-effect)
- component lifecycle
🥚VDOM : you ....
🥚 Hook
🥚 use-state
🥚 use-effect
🥚 component lifecycle
- create components that manage internal state and emit custom events
- handling events
- build reusable components that take functions as arguments
- child components communicating with parent components
- passing functions as props
- splitting components with logic in mind
- why create dumb components when hooks can be anywhere?
- re-render cycles (all children)
- why putting state at lower levels is efficient
- why not to use everything in global state
- fetch and use API data in components
- async
useEffect callbacks
- being careful about what you put in
useContext
- only move data to context when it's necessary
- store and manage global app state shared between components
useContext
- shared state, not the same as
useState
- other state management systems/strategies exist
TOP
Component-Based Design
Learn to design, plan and build frontend applications using a Component-Based approach. You will explore the ReactJS library which is designed to make Component-Based design easy and efficient.
Learning Objectives
Priorities: 🥚, 🐣, 🐥, 🐔 (click to learn more)
There is a lot to learn in this repository. If you can't master all the material
at once, that's expected! Anything you don't master now will always be waiting
for you to review when you need it. These 4 emoji's will help you prioritize
your study time and to measure your progress:
need for this module and the next. You do not need to finish all of them but
should feel comfortable that you could with enough time.
all if you just had more time. It may not be easy for you but with effort you
can make it through.
You should have a big-picture understanding of these concepts/skills, but may
not be confident completing the exercises.
If you are finished with 🥚, 🐣 and 🐥 you can use the 🐔 exercises to push
yourself without getting distracted from the module's main objectives.
1. Rendering Static Pages
🥚 JSX : you can ...
2. Rendering Data
🥚functional React components: you can ...
Create a React function component (both function definition and arrow function styles)
Import/export components between files
🥚 Render data: you can
.mapmethod🥚 Components and props : you can ...
🥚 Create reusable components: you can ...
3. Stateful Components
useStateuseEffect(any side-effect)🥚VDOM : you ....
🥚 Hook
🥚
use-state🥚
use-effect🥚 component lifecycle
4. Events
5. Component Structure
6. Consuming APIs
useEffectcallbacks7. Frontend Routing
8. Global State
useContextuseContextuseStateTOP