Redux, from UI.dev's Tyler McGinnis, takes an unusually direct approach to teaching a library: you build your own version of Redux before you ever import the real one.
Build It, Then Use It
After implementing Redux yourself, you connect it to a vanilla JavaScript UI, then swap that UI for React — and once you hit friction between React and Redux, you build your own version of the react-redux bindings too.
What You'll Learn
- Redux core:
createStore, getState, subscribe, dispatch, reducers, and actions
- Middleware, including thunk and logger middleware, and combining reducers
- Architectural patterns for using Redux with vanilla JS and with React
- Normalizing data, handling async events, optimistic updates, and immutability
The course assumes you're already comfortable with React and modern JavaScript, and finishes with a real-world application built on everything covered.
After that, we'll address the issues between our React and Redux implementation which will lead us to building our own version of the react-redux bindings. After all of this, you'll take your knowledge of the Redux ecosystem and build a real world application.
Pre-Requisites:
You'll be tempted to jump straight into Redux when you first start using React. Don't do this. If you're already familiar with React and modern JavaScript (ES2015+), this course is perfect for you. If not, this may not be the right starting point for you. Check out our 'React' and 'Modern JavaScript' courses which will be a better fit.
What you'll learn:
Redux
- createStore
- getState
- subscribe
- dispatch
- Reducers
- Actions
- Combining Reducers
- Middleware
- Thunk Middleware
- Logger Middleware
- Utilizing Constants
- Action Creators
- Architectural Patterns
- Redux with JS UI
- Redux with vanilla React
- Normalizing data structures
- Handling Asynchronous Events
- Optimistic Updates
- Error Handling
- Immutability
- Hot Module Replacement
- Time Travel Debugging
Advanced React
- Performance
- Higher Order Components
- React Router v4
- Render Props
- Context.Provider
- Context.Consumer
- Folder Structure
Who is this course for?
- Developers who are comfortable with React and are curious about what benefits Redux will give them.
- Developers who have been trying to learn Redux but are frustrated with the current ecosystem of learning resources.
- Front end developers wanting to modernize their skill set in order to get a raise or apply for another job.
- Mid to Sr level developers who are confident in their ability to learn quickly and want the quickest approach to learning Redux for production.
- Jr developers who are comfortable with JavaScript and React and want to better contribute to their Redux apps at work.
- Developers who want to understand how Redux works under the hood.
- Developers who want to learn how the react-redux bindings work under the hood.
- Developers who have tried and failed to learn Redux before.