Description
In this course, you will learn :
- You will go in-depth with Redux, an open-source JavaScript library for managing application state.
- You will first go over what Redux is, general concepts, and basic implementation. After you've covered the fundamentals, you'll start working on creating a recipe book application, adding more bells and whistles as the course progresses.
- You will learn how to build a Redux store, how to use middleware, state management, error handling, testing, and much more.
- You will be well-versed in one of the most popular libraries among React and Angular developers.
- You will be able to create highly performant and consistent code.
Syllabus :
1. Introduction to Redux
- What is Flux?
- Redux and Flux
- Redux Terminology
- General Concepts
- Redux and React/Angular
2. Basic Redux Implementation
- Basic Structure
- Creating Functions
- Implementing Reducer
- Implementing Dispatch
- Final Implementation
3. Cloning a Redux Boilerplate
- Redux Boilerplate
- Skeleton Overview
- Setup
4. Complete Redux Project
- Introduction
- Store Setup
- Adding Recipes
- Adding Ingredients
- Structuring the Code
- A Closer Look at Reducers
- Handling Typos and Duplicates
- Creating User Interface
- Logging
- Getting Data from the Server
5. Creating a Store
- Creating a Store
- Accessing and Changing the Store
- Listening to Updates
- Replacing the Reducer
- Store as Observable
6. Decorating the Store
- Higher-Order Functions
- The Compose Function
- Store Enhancers
- The applyMiddleware function
- Other Uses
7. Actions and Action Creators
- Introduction
- Passing Parameters to Actions
- Action Creators
- Directory Organization
- Flux Standard Actions
- String Constants
- Testing Action Creators
8. Redux Thunk
- Adding Redux-thunk
- Server Communication
- Using State
9. Redux-Actions Library
- Redux-actions Library
- Errors
- createAction() Example
- Using redux-actions with redux-promises
10. Reducers
- Introduction
- Basic Reducers
- Reducer Separation
- Combining Reducers
- Default Values
- Tree Mirroring
- Alternative to Switch Statements
11. Avoiding Mutations
- Why Do We Need to Avoid Mutations?
- What Is Immutability?
- Objects
- Arrays
- Ensuring Immutability
- Using Immer for Temporary Mutations
- Using Higher-Order Reducers
12. Introduction to Middleware
- Introduction
- Next()
13. Your First Middleware
- Folder Structure
- The measureMiddleware
- Connecting to Redux
14. Middleware
- Async Actions
- Flow Control
- Other Action Types
- Parameter-Based Middleware
- The Difference Between next() and dispatch()
15. State Management
- Introduction
- Reducer Nesting and Coupling
- Access to Multiple Nested Data Entities
- State as a Database
- Access to Multiple Nested Data Entities in Database
16. Keeping a Normalized State
- Introduction
- Building the Generic Action
- Normalizing the Data
17. Persistence State
- Introduction
- Updating the Root Reducer
- Updating the Store
- 18. Real-World State
- Common State Structure
- Keeping the State Manageable
- What to Put in the State
19. Server Communication
- Introduction
- Asynchronous Action Creators
- API Middleware
- 20. Moving Code from Action Creators
- Basics
- Avoiding Full URLs
- Passing Functions or Strings
21. Error Handling
- Handling errors
- Handling Unauthorized Requests
22. Server Communication II
- Authentication
- Implementing a Loading Indicator
- Implementing Multiple Spinners
23. Transforming Data
- Transforming Data
- Normalizing Responses
24. Chaining Requests
- Chaining Network Requests
25. Managing Side Effects
- Introduction
- Side Effects in Action Creators
- Side Effects in Middleware
- Other Solutions
26. Messaging Patterns
- Routing Patterns
- Transformation Patterns
27. WebSockets
- Basic Architecture
- Connecting to Redux
- WebSocket Implementation
- Handling Outgoing Messages and Actions
28. WebSocket Authentication
- Authenticating Communication
29. Testing
- Introduction
- Directory Organization
30. Testing Action Creators
- Testing Action Creators
- Using Snapshots
- Dynamic Action Creators
31. Async Action Creators
- Async Action Creators
- Mocking Axios
- Creating a Mock Store
- Async Action Creator Test Structure
- Basic Async Action Creator Test
32. Testing Reducers
- Basic Reducer Test
- Simplifying Basic Reducer Test
- Making the Tests Pretty
- Avoiding Mutations
- Action Creators and Reducers
- Unknown Actions
33. Testing Middleware
- Middleware Test Structure
- Simplifying the Test Structure
- Testing Async Middleware
- Testing Async Middleware
- Setup
- General Tests
- Successful Server Access
- Failed Server Access
35. Integration Tests
- Setup and Integration
36. Evolution Of Redux
- The Future of Redux