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