—Course Overview
1m 36s
—Course Outline
3m 27s
—Who Is This Course For?
1m 31s
—How Is This Course Different from the React and Flux course?
1m 50s
—Why Redux?
2m 53s
—Summary
0m 29s
Environment Setup
- 46m 53s
—Intro
3m 15s
—Environment Overview
2m 26s
—Versions Used in This Course
0m 31s
—Hot Reloading
1m 54s
—Install Node
0m 46s
—Create package.json
1m 34s
—Editors
2m 8s
—Install npm Packages
1m 40s
—Introduce npm Scripts
1m 46s
—Create src Directory
1m 12s
—Set up Webpack
7m 50s
—Set up editorconfig
1m 26s
—Set up Babel
2m 20s
—Set up Express
2m 20s
—Create Start Script
1m 48s
—Create Start Message
1m 34s
—Set up ESLint
4m 43s
—Create Parallel Scripts
2m 17s
—Set up Testing
1m 38s
—Add Test Scripts
2m 53s
—Summary
0m 41s
React Component Approaches
- 16m 7s
—Intro
0m 57s
—Four Ways to Create React Components
0m 57s
—ES5 Create Class Component
0m 21s
—ES6 Class Component
2m 12s
—ES5 Stateless Component
0m 46s
—ES6 Stateless Component
4m 19s
—When Should I Use Each Style?
1m 37s
—Other Ways to Create Components
0m 35s
—Container vs. Presentation Components
3m 22s
—Summary
0m 57s
Initial App Structure
- 18m 41s
—Intro
0m 43s
—Create Initial Components
3m 16s
—Create App Layout
1m 23s
—Configure Routing
1m 47s
—Update Entry Point
3m 9s
—Create Styles
0m 41s
—Create Header
4m 30s
—Create Course Page
2m 46s
—Summary
0m 21s
—Intro
0m 49s
—Do I Need Redux?
3m 31s
—Three Core Redux Principles
0m 58s
—Flux Similarities
1m 1s
—Flux Differences
4m 10s
—Redux Flow Overview
1m 27s
—Summary
0m 43s
Actions, Stores, and Reducers
- 19m 18s
—Intro
0m 33s
—Actions
1m 8s
—Store
1m 14s
—What Is Immutability?
3m 3s
—Why Immutability?
4m 0s
—Handling Immutability
2m 37s
—Reducers
5m 28s
—Summary
1m 10s
Connecting React to Redux
- 17m 38s
—Intro
0m 58s
—Container vs. Presentational Components
2m 22s
—React-redux Introduction
5m 9s
—mapStateToProps
2m 38s
—mapDispatchToProps
4m 11s
—A Chat with Redux
1m 9s
—Summary
1m 7s
—Intro
0m 49s
—Create Simple Add Course Form
1m 55s
—Binding in ES6
3m 58s
—Actions
1m 58s
—Reducers
5m 51s
—Root Reducer
2m 36s
—Store
3m 3s
—Instantiate Store and Provider
3m 19s
—Connect Container
6m 23s
—Step Through Redux Flow
7m 17s
—mapDispatchToProps Manual Mapping
4m 41s
—bindActionCreators
4m 6s
—Container Structure Review
1m 14s
—Action Type Constants
3m 3s
—Summary
0m 44s
—Intro
0m 38s
—Why a Mock API?
2m 35s
—Async Library Options
3m 18s
—Thunk Overview
1m 9s
—Mock API Setup
3m 34s
—Remove Inline Form
1m 54s
—Add Thunk to Store
1m 4s
—Create Load Courses Thunk
4m 7s
—Action Naming Conventions
0m 56s
—Load Courses in Reducer
0m 47s
—Dispatch Action on Page Load
2m 15s
—Create Course List Component
3m 26s
—Summary
0m 49s
Async Writes in Redux
- 43m 41s
—Intro
0m 33s
—Create Manage Course Page
5m 11s
—Create Manage Course Form
1m 40s
—Create Form Input Components
1m 45s
—Use Manage Course Form
4m 59s
—Create Author Actions
1m 48s
—Create Author Reducer
4m 18s
—Map Author Data for Dropdown
3m 45s
—Create Form Change Handler
1m 23s
—Create Save Course Thunk
1m 52s
—Handle Creates and Updates in Reducer
2m 46s
—Dispatch Create and Update
2m 49s
—Redirect via React Router Context
2m 16s
—Populate Form via mapStateToProps
5m 56s
—Update State via componentWillReceiveProps
1m 49s
—Summary
0m 43s
Async Status and Error Handling
- 25m 28s
—Intro
1m 17s
—Create Preloader Component
1m 53s
—Create AJAX Status Actions
1m 11s
—Create AJAX Status Reducer
2m 37s
—Call Begin AJAX in Thunks
2m 21s
—Hide Preloader Based on Status
3m 36s
—Use Promises to Wait for Thunks
1m 52s
—Create Form Submission Loading Indicator
2m 59s
—Display Save Notification
1m 29s
—Error Handling
5m 29s
—Summary
0m 39s
—Intro
1m 7s
—Testing Frameworks
2m 27s
—Helper Libraries
6m 3s
—Where to Test
2m 43s
—Testing React with React Test Utils
9m 18s
—Testing React with Enzyme
3m 56s
—Summary
0m 48s
—Intro
0m 40s
—Testing Connected React Components
12m 51s
—Testing mapStateToProps
4m 27s
—Testing Action Creators
1m 57s
—Testing Reducers
5m 15s
—Testing Thunks
6m 13s
—Testing the Store
5m 32s
—Summary
0m 35s
Production Builds
- 20m 2s
—Intro
2m 7s
—Setup Production Redux Store
2m 24s
—Setup Webpack
4m 43s
—Setup HTML Build
2m 6s
—Setup Dist Server
0m 58s
—Setup npm Scripts
2m 35s
—Review Results
2m 39s
—Final Challenge
2m 26s