Introduction to the course
React and your career opportunites
Setting up VS code (Optional)
Transforming lists in JavaScript
Render a simple list component
Using Keys Within List Components
What are controlled components?
Creating a Form component in React
Create a Controlled Form Component
What you know about Props and State
What is Context and why is it used?
Module summary: Components
How to be successful in this course
Setting up a React project in VS Code (Optional)
Installing Node and NPM (Optional)
Working with Labs in this course
Solution: Create a basic List component
Controlled components vs. Uncontrolled components
Solution: Create a registration form
Solution: Create a light-dark theme switcher
How re-rendering works with Context
Self-review: Create a basic List component
Knowledge check: Rendering Lists in React
Self-review: Create a registration form
Knowledge check: Forms in React
Self-review: Create a light-dark theme switcher
Knowledge check: React Context
Exercise: Create a basic List component
Exercise: Create a registration form
Exercise: Create a light-dark theme switcher
What are the rules of hooks?
What you need to know before fetching data
Fetching data – Putting it all together
What is useReducer and how it differs from useState
useRef to access underlying DOM
Module summary: React Hooks and Custom Hooks
Working with complex data in useState
Solution: Managing state within a component
What is the useEffect hook?
Data fetching using hooks
Solution: Can you fetch data?
When to choose useReducer vs useState
Solution: Create your own custom hook usePrevious
Self-review: Managing state within a component
Knowledge check: Getting started with hooks
Self-review: Can you fetch data?
Knowledge check: Rules of Hooks and Fetching Data with Hooks
Self-review: Create your own custom hook usePrevious
Knowledge check: Advanced Hooks
Module quiz: React Hooks and Custom Hooks
Exercise: Managing state within a component
Exercise: Can you fetch data?
Exercise: Create your own custom hook usePrevious
JSX Components and Elements
The importance of performance to software development
Component composition with children
Manipulating children dynamically in JSX
Cross-cutting concerns in React
Create a HOC for cursor position
Why React Testing Library
Writing the first test for your form
Module summary: JSX and Testing
Solution: Build a Radio Group Component
Solution: Implementing scroller position with render props
Solution: Writing more test scenarios
Introduction to continuous integration
Self-review: Build a Radio Group Component
Self-review: Implementing scroller position with render props
Knowledge check: Reusing behavior
Self-review: Writing more test scenarios
Knowledge check: Automated testing
Module quiz: JSX and Testing
Exercise: Build a Radio Group Component
Exercise: Implementing scroller position with render props
Exercise: Writing more test scenarios
Course recap: Advanced React
Solution walk-through: Portfolio
Congratulations you have completed Advanced React!
Popular external libraries
Final graded quiz: Advanced React
Review a peer's portfolio