We may earn an affiliate commission when you visit our partners.
Course image
Stephen Grider

Knowledge of React + Redux is 100% required. If you are familiar with reducers and action creators you will be fine.

This is the tutorial you've been looking for to take your React and Redux skills to the next level.

Read more

Knowledge of React + Redux is 100% required. If you are familiar with reducers and action creators you will be fine.

This is the tutorial you've been looking for to take your React and Redux skills to the next level.

Authentication with Express/Mongo?  Yes.   Middleware/Higher Order Components? We got it.  Testing with Mocha/Chai?  It's here.

This course wastes no time diving right into interesting topics, and teaches you the core knowledge you need to deeply understand and build React components and structure applications with Redux.

Mastering React and Redux can get you a position in web development or help you build that personal project you've been dreaming of. It's a skill that will put you more in demand in the modern web development industry, especially with the release of Redux and ReactNative.

There are dozens of great tutorials online for React and Redux, but none of them teach the challenging, core features of these two fantastic libraries.  I created this course to push you beyond "just getting started."

  • Learn how to thoroughly test React and Redux code, including tests for action creators and reducers

  • Get familiar with Higher Order Components.  Don't know what they are?  No problem, you have been using them without even knowing it.

  • Rewrite a popular Redux Middleware from scratch to handle asynchronous actions

  • Become a master of the trickiest topic in Javascript: authentication.  You will write a server with enterprise-grade authentication from scratch that can scale to hundreds of thousands of users.  No shortcuts, no dummy data.

I have built the course that I would have wanted to take when I was learning React and Redux.  A course that explains the concepts and how they're implemented in the best order for you to learn and deeply understand them.

Enroll now

What's inside

Learning objectives

  • Build a scaleable api with authentication using express, mongo, and passport
  • Learn the differences between cookie-based and token-based authentication
  • Figure out what a higher order component and how to use it to write dramatically less code
  • Write redux middleware from scratch to uncover what is happening behind the scenes with redux
  • Set up your own testing environment with jest and enzyme
  • Realize the power of building composable components

Syllabus

Welcome! Let's Get Started!
Course Resources
Join Our Community!
Testing
Read more
Required Boilerplate - DO NOT SKIP
Project Generation
Our First Test
Introduction to Jest
App Overview
Installing Dependencies
React and Redux Design
What Do We Test?
Starting from Scratch
Rendering the App
Showing Components in the App
Valid Test File Names
Test Structure
Tricking React with JSDOM
Verifying Component Existence
Test Expectations
Limiting Test Knowledge
Enzyme Setup
Enzyme Renderers
Expectations for Component Instances
Exercise Time!
Expecting the Comment List
Absolute Path Imports
Code Reuse with BeforeEach
Comment Box Component
TextArea Implementation
CommentBox Test File
Asserting Element Existence
AfterEach Statements
Simulating Change Events
Providing Fake Events
Forcing Component Updates
Retrieving Prop Values
Form Submit Exercise
Exercise Solution
Describe Statements
Redux Setup
The Provider Tag
The SaveComment Action Creator
Bonding React with Redux
Redux Test Errors
Adding a Root Component
Testing Reducers
Handling Unknown Types
Testing Action Creators
Comment List Wireup
Getting Data Into Redux
Redux Initial State
Cheerio Queries
One More Feature
Fetching a Remote Resource
Parsing Comment List
Integration Tests
Integration Tests in Action
Fixing a Broken Test
Simulating Button Clicks
Why the Failure?
Faking Requests with Moxios
The Reason for Failure
Introducing a Pause
Moxios's Wait Function
App Wrapup
Higher Order Components
An Introduction to Higher Order Components
Connect - A Higher Order Component
Adding React Router
Adding Routes
Auth Reducer
Rendering a Header
Wiring Up State
Changing Auth State
Steps for Building a HOC
Forced Navigation with React Router
Creating the HOC
Placing Reusable Logic
Passing Through Props
MIddlewares with Redux
Introduction to Middlewares
The Purpose of Redux Promise
How Async Middlewares Work
Crazy Middleware Syntax
Forwarding Actions
Waiting for Promise Resolution
Observing the Middleware
State Validation Middleware
JSON Schema
Generating JSON Schema
Middleware Creation
Emitting Warnings
Server Setup - Authentication
Introduction to Authentication
Cookies vs Tokens
Scalable Architecture
Server Setup
More Server Setup

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Teaches Redux and React, which gives students the skills to build modern web apps
Stresses testing React and Redux code, which is common in industry
Strong focus on understanding core concepts, which helps students become proficient in React and Redux
Taught by Stephen Grider, an esteemed instructor known for his React and Redux courses
Uses Jest and Enzyme for testing, which are industry-standard tools
Course is well-structured, with clear learning objectives and a logical progression

Save this course

Save Advanced React and Redux to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Advanced React and Redux with these activities:
Compile and Review Course Materials
Get prepared for the course by reviewing and organizing course outlines, assignments, notes, and practice exams.
Browse courses on React
Show steps
  • Collect all course materials
  • Review course syllabus and assignment descriptions
  • Organize and store materials for easy access
Review React and Redux Concepts and Techniques
Refresh your knowledge of React and Redux concepts to ensure a solid foundation before starting the course.
Browse courses on React
Show steps
  • Review course syllabus and identify topics to refresh
  • Read documentation and articles on React and Redux
  • Take practice quizzes or online assessments
Follow Online Tutorials and Walk-throughs
Supplement your learning with interactive tutorials that provide step-by-step guidance on specific concepts and tools.
Browse courses on React
Show steps
  • Search for tutorials and walk-throughs on React and Redux
  • Select reputable and highly-rated tutorials
  • Follow tutorials and complete exercises
  • Apply what you learned in your own projects
Five other activities
Expand to see all activities and additional details
Show all eight activities
Solve Coding Challenges on LeetCode or HackerRank
Enhance your problem-solving and coding skills by practicing on coding platforms.
Browse courses on React
Show steps
  • Register on LeetCode or HackerRank
  • Select coding challenges aligned with course topics
  • Solve challenges and analyze solutions
Create React and Redux Projects and Applications
Build hands-on experience by developing small to medium-sized projects that apply the concepts and skills taught in the course.
Browse courses on React
Show steps
  • Choose a project idea based on course topics
  • Create a project plan and timeline
  • Implement project using React and Redux
  • Deploy and showcase project
Attend Online Meetups and Conferences on React and Redux
Connect with professionals in the field, learn about industry trends, and expand your network.
Browse courses on React
Show steps
  • Search for online meetups and conferences related to React and Redux
  • Register and attend events
  • Engage in discussions and networking
Contribute to Open Source React or Redux Projects
Gain practical experience and make meaningful contributions to the React and Redux community.
Browse courses on React
Show steps
  • Identify open source projects related to React or Redux
  • Review project documentation and codebase
  • Make code contributions or bug fixes
  • Participate in discussions and contribute to project growth
Participate in Hackathons or Coding Competitions Focused on React and Redux
Challenge yourself, collaborate with others, and showcase your skills in a competitive environment.
Browse courses on React
Show steps
  • Find hackathons or coding competitions that focus on React and Redux
  • Form a team or participate individually
  • Brainstorm and develop React and Redux solutions
  • Submit your project and compete for prizes

Career center

Learners who complete Advanced React and Redux will develop knowledge and skills that may be useful to these careers:
Redux Developer
Redux Developers are responsible for developing and maintaining the state management system for web applications. Redux is a popular state management library that is often used with React. This course will help you develop the skills you need to become a successful Redux Developer. You will learn how to manage state effectively using Redux, and you will also learn how to test your code using Jest and Enzyme.
React Developer
React Developers are responsible for developing and maintaining the front-end of websites and web applications. React is a popular JavaScript library for building user interfaces, and Redux is a state management library that is often used with React. This course will help you develop the skills you need to become a successful React Developer. You will learn how to build complex and interactive user interfaces, and you will also learn how to manage state effectively using Redux.
JavaScript Developer
JavaScript Developers are responsible for developing and maintaining web applications. React and Redux are two popular JavaScript libraries that are often used to build complex and interactive user interfaces. This course will help you develop the skills you need to become a successful JavaScript Developer. You will learn how to build complex and interactive user interfaces using React, and you will also learn how to manage state effectively using Redux.
Web Developer
Web Developers are responsible for designing, developing, and maintaining websites and web applications. React and Redux are essential skills for a Web Developer, as they allow you to build complex and interactive user interfaces and manage state effectively. This course will help you develop the skills you need to become a successful Web Developer. You will learn how to build a scalable API with authentication using Express, Mongo, and Passport, and you will also learn how to test your code using Jest and Enzyme.
Full-Stack Developer
A Full Stack Developer is responsible for developing and maintaining both the front-end and back-end of a website or application. React and Redux are essential skills for a Full Stack Developer, as they allow you to build complex and interactive user interfaces and manage state effectively. This course will help you develop the skills you need to become a successful Full Stack Developer. You will learn how to build a scalable API with authentication using Express, Mongo, and Passport, and you will also learn how to test your code using Jest and Enzyme.
Front-End Developer
Front-End Developers are responsible for developing and maintaining the user interface of websites and web applications. React is a popular JavaScript library for building user interfaces. This course will help you develop the skills you need to become a successful Front-End Developer. You will learn how to build complex and interactive user interfaces using React.
Back-End Developer
Back-End Developers are responsible for developing and maintaining the server-side of websites and web applications. Express is a popular Node.js framework for building web applications. This course will help you develop the skills you need to become a successful Back-End Developer. You will learn how to build a scalable API with authentication using Express, Mongo, and Passport.
Software Engineer
Software Engineers are responsible for designing, developing, and maintaining software applications. React and Redux are two popular JavaScript libraries that are often used to build complex and interactive user interfaces. This course will help you develop the skills you need to become a successful Software Engineer. You will learn how to build complex and interactive user interfaces using React, and you will also learn how to manage state effectively using Redux.
Node.js Developer
Node.js Developers are responsible for developing and maintaining server-side applications. Express is a popular Node.js framework for building web applications. This course will help you develop the skills you need to become a successful Node.js Developer. You will learn how to build a scalable API with authentication using Express, Mongo, and Passport.
Software Architect
Software Architects are responsible for designing and developing the architecture of software applications. React and Redux are two popular JavaScript libraries that are often used to build complex and interactive user interfaces. This course will help you develop the skills you need to become a successful Software Architect. You will learn how to build complex and interactive user interfaces using React, and you will also learn how to manage state effectively using Redux.
Database Administrator
Database Administrators are responsible for managing and maintaining databases. Mongo is a popular NoSQL database that is often used to store data for web applications. This course will help you develop the skills you need to become a successful Database Administrator. You will learn how to build a scalable API with authentication using Express, Mongo, and Passport.
Project Manager
Project Managers are responsible for managing and developing projects. React and Redux are two popular JavaScript libraries that are often used to build user interfaces for web applications. This course will help you develop the skills you need to become a successful Project Manager. You will learn how to build complex and interactive user interfaces using React, and you will also learn how to manage state effectively using Redux.
Product Manager
Product Managers are responsible for managing and developing products. React and Redux are two popular JavaScript libraries that are often used to build user interfaces for web applications. This course will help you develop the skills you need to become a successful Product Manager. You will learn how to build complex and interactive user interfaces using React, and you will also learn how to manage state effectively using Redux.
UX Designer
UX Designers are responsible for designing the user experience of websites and web applications. React is a popular JavaScript library for building user interfaces. This course will help you develop the skills you need to become a successful UX Designer. You will learn how to build complex and interactive user interfaces using React.
Business Analyst
Business Analysts are responsible for gathering and analyzing requirements for software applications. React and Redux are two popular JavaScript libraries that are often used to build user interfaces for web applications. This course will help you develop the skills you need to become a successful Business Analyst. You will learn how to build complex and interactive user interfaces using React, and you will also learn how to manage state effectively using Redux.

Reading list

We've selected six books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Advanced React and Redux.
Provides a comprehensive guide to building web applications with React, covering topics such as state management, routing, and testing. It valuable resource for students who want to develop a deeper understanding of React and its ecosystem.
Provides a beginner-friendly introduction to React, covering its core concepts and practical applications. It useful resource for students who are new to React and want to build a solid foundation before diving into more advanced topics.
Focuses specifically on testing React applications with Jest, covering topics such as unit testing, integration testing, and mocking. It valuable resource for students who want to gain proficiency in testing React applications.
Provides a collection of design patterns for building React applications. It covers patterns for state management, data fetching, and UI design, making it a valuable resource for students who want to learn best practices for building scalable and maintainable React applications.
Provides a comprehensive guide to design patterns and best practices for building React applications. It covers topics such as component design, state management, and performance optimization, making it a valuable resource for students who want to develop a deep understanding of React development.
Provides a comprehensive overview of JavaScript patterns, including those that are commonly used in React and Redux applications. It valuable resource for students who want to gain a deeper understanding of JavaScript and its application in building React and Redux applications.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Advanced React and Redux.
Node with React: Fullstack Web Development
Most relevant
Using React 17 Hooks
Most relevant
React Front To Back
Most relevant
Modern React with Redux [2024 Update]
Most relevant
Building React Native Apps with Redux and GraphQL
Most relevant
React State Manager - Redux Toolkit, React Query, Redux...
Most relevant
React - The Complete Guide 2024 (incl. React Router &...
Most relevant
Leveraging Common Middleware Packages
Most relevant
React JS - Mastering Redux
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser