We may earn an affiliate commission when you visit our partners.
Course image
Andrew Mead

This course was just updated to support React v16, React Hooks, the Context API, and more.

Have you tried to learn React before?

Read more

This course was just updated to support React v16, React Hooks, the Context API, and more.

Have you tried to learn React before?

It’s easy to go down the rabbit hole of libraries and tools only to come out of it not knowing how to build and launch a real-world React application. You get things configured, but you’re not sure how the libraries fit together (or if you’re even using the right one).

Sound familiar?

I built this course to show you how you can build and launch real-world React web applications.

The Complete React Web Developer Course 2 starts with the fundamentals and covers everything you’ll need to build and launch React web apps.

You’ll see what it takes to build and launch a React app, from the first line of code to the final production deployment.

This course was designed around one goal: turning you into a professional React developer capable of developing, testing, and deploying real-world production applications.

You’ll learn React by doing, not watching.

From the first videos you’ll be building out each project as well as completing programming challenges I’ve designed to test and reinforce what you’ve learned.

Throughout the course you’ll build two React web apps:

  1. The first app, a decision-making app called Indecision, is our starter application. You’ll learn the fundamentals of React while seeing exactly what it takes to get a React app up and running.

  2. The second app, an expense manager called Budget, has all the features you’d expect from a real application. You’ll set up authentication, user accounts, routing, testing, form validation, database storage, and more.

Stay up-to-date in an ever changing world.

The world of React changes fast, and that’s why I’m always working to keep this course as up-to-date as possible. You can jump in knowing you’re getting access to hot-off-the-press features.

Everything you need comes in one easy-to-use package.

There’s no need to worry if you’re learning the right skills to land that React job or launch that React app. I’ve mapped out everything you need to know in an interactive easy-to-follow package designed to get you up and running in a couple of weeks.

There’s no better time to learn React.

React’s not going anywhere. Companies like Facebook, Walmart, Uber, Airbnb, and Netflix are all using React in production right now.

They’ve also made heavy investments in the React ecosystem, creating new libraries and tools that speed up and simplify React development. From the biggest to the smallest, everyone’s using React and new jobs are popping up every day.

Get access to fast support if you get stuck.

There’s nothing worse than getting stuck ten hours into a course and not getting the help you need to continue. Getting stuck is part of the learning process. That’s why I’m here to answer every single question.

I’ll work with you to get you unstuck and back on track. It’s one of the reasons students love taking my courses:

“This is the absolute best course I've taken on udemy. Andrew is amazing at explaining things concisely, and the flow of the course is perfect. He doesn't skip over anything and he doesn't over-explain anything. On top of all that, he responds to questions so quickly that you won't be stuck at any point." - Tanya Gamarian

"The lessons are of high quality and even more important, he actually takes time to answer your questions. " - Thomas Vercamer

"The instructor does an excellent job in explaining how to build React Apps. He also responds quickly to any questions that are asked." - Matt Willy

I guarantee that this is the most up-to-date and engaging React course available, and it comes with a Udemy 30-day money-back guarantee.

Over eighteen sections you’ll learn:

  1. React

  2. Redux

  3. React-Router

  4. Webpack

  5. Babel

  6. Testing with Jest

  7. Enzyme

  8. App Debugging

  9. App Deployment

  10. Firebase

  11. Authentication

  12. Git/GitHub

  13. ES6/ES7

  14. And many more tools

I can’t wait to see you on the inside.

- Andrew

Enroll now

What's inside

Learning objectives

  • Build, test, and launch react apps
  • Use cutting-edge es6/es7 javascript
  • Setup authentication and user accounts
  • Deploy your react apps live to the web
  • Learn the latest react libraries and tools
  • Master react, redux, react-router, and more

Syllabus

Welcome

In this video you'll learn a few tips and tricks to make sure you get the most out of this course.

In this video you'll get a big picture overview of what React is and why you should spend your time learning it.

Read more
Setting up Your Environment
Section Intro: Setting up Your Environment

Need a text editor? Try Visual Studio Code. You can use any editor you like, but I've been loving VSC lately. It's worth checking out.

The last thing you need to install is Node.js. You'll be using Node.js to create web servers, compile files, and much more!

Hello React
Section Intro: Hello React

In this video you'll how to set up a web server so you can view your React apps in the browser.

In this video you'll take your first look at JSX (JavaScript XML). It's a JavaScript language extensions used by React.

In this video you'll setup Babel. This compiles your JSX into regular JavaScript that your browser understands.

In this video you'll explore the basics of JSX. You'll see what it takes to define your template and get it rendered to the screen.

In this video you'll learn how to inject dynamic values into your JSX.

In this video you'll learn how to conditionally render content in JSX. This will allow you to hide and show content based on the application state.

In this video you'll learn about two new variable types which are "const" and "let". You'll also explore the differences between "var", "const", and "let".

In this video you'll learn about ES6 Arrow Functions. This is a new way to create functions in ES6 and comes with an improved syntax.

In this video you'll learn about event handlers in JSX. These will allow you to run some code when the user interacts with the app (such as clicking a button).

In this video you'll learn how you can rerender you application when data changes.

In this video you'll learn how to setup form and inputs so you can get data from your users.

In this video you'll learn how to work with array data in JSX. That'll let you render some content to the screen for each item in a list.

In this video you'll be adding a new feature onto the Indecision app.

In this video you'll be writing some code on your own. I'll set you up, but it's on you to write the solution.

React Components
Section Intro: React Components

In this video you'll learn how to think in terms of how React works.

In this video you'll learn how to work with ES6 classes. Classes will be used to create React components.

In this video you'll learn how to work with ES6 classes. Classes will be used to create React components.


In this video you'll create and render your first React component.

In this video you'll learn how you can create a React component that renders another React component.

In this video you'll learn how to use component props. This lets you pass data into a component when rendering it.

In this video you'll add event props and event handlers into your components.

In this video you'll explore class method binding and why it's important.

In this video you'll learn about component state. Component state is the React way to track changing data in your components. 

In this video you'll add component state into the course application.

In this video you'll add component state into the course application.

In this video you'll look at an alternative way you can change component state.

In this video you'll be writing some code on your own!

In this video you'll be adding state to Indecision.

In this video you'll get a quick recap of component props and state.

Stateless Functional Components
Section Intro: Stateless Functional Components

In this video you'll explore an alternative way to define React components known as the Stateless Functional Component.

In this video you'll learn how you can setup default props values for your React components.

In this video you'll learn how you can debug your React applications.

In this video you'll be adding a new feature onto Indecision.

In this video you'll explore component lifecycle methods. These let you run some code at specific times during a components life.

In this video you'll learn how you can use localStorage to persist state between page views.

In this video you'll get a bit more experience working with localStorage and React lifecycle methods.

Webpack
Section Intro: Webpack

In this video you'll learn what webpack is and why using it is a good idea.

In this video you'll learn why global npm modules are a bad idea.

In this video you'll be installing and setting up webpack. Config videos are never fun, but webpack opens the door to a lot of great features.

In this video you'll learn how you can break your app into multiple files using import/export.

In this video you'll explore another way you can export something from a module.

In this video you'll learn how you can use import to load in 3rd-party npm modules.

In this video you'll setup webpack to run babel automatically.

In this video you'll continue to break up your app into multiple files.

In this video you'll setup sourcemaps with webpack. This makes debugging errors a whole lot easier.

In this video you'll setup webpack dev-server which makes local webpack development a breeze.

In this video you'll explore the new class properties syntax which make it easier to setup class properties like state!

Using a Third-Party Component
Section Intro: Using a Third-Party Component

In this video you'll explore the children prop which makes it possible to add children into your JSX element.

In this video you'll setup react-modal. This 3rd-party tool make it easy to setup a modal for displaying the selected option.

In this video you'll refactor some class components to stateless functional components.

Styling React
Section Intro: Styling React

In this video you'll setup webpack to compile SCSS down to CSS.

In this video you'll be diving into the style by styling the Indecision app header.

In this video you'll learn how to setup normalize.css. This CSS reset makes sure all browsers are starting from the same base.

In this video you'll use SCSS variables to setup a theme for Indecision.

In this video you'll be setting up that big ol' button up top.

In this video you'll be styling the options list and list items.

In this video you'll be styling the individual items.

In this video you'll learn how to style react-modal (which can be a little tricky). 

In this video you'll setup media queries to style Indecision for those mobile devices.

In this video you'll setup a favicon for browser tabs.

React-Router
Section Intro: React Router

In this video you'll explore the differences between server and client side routing. You'll also explore why you'd want to use one over the other.

In this video you'll be setting up the directory structure for the Expensify application.

In this video you'll setup react router. You'll learn how you can create multiple pages via client-side routing.

In this video you'll learn how to setup a 404 page for your application. This is a page users will see if the URL they entered doesn't match any existing routes.

In this video you'll learn how to setup UI links for switching pages. This will be especially useful for setting up the apps navigation menu.

In this video you'll refactor the application router. You'll move it out into it's own file and clean up app.js as much as possible.

In this video you'll learn how to parse query strings and params with react-router.

In this video you'll be creating a new application to practice configuring react-router.

Redux
Section Intro: Redux

In this video you'll learn what redux is and why we'll need it to continue on with our app.

In this video you'll install Redux and use it to create your first Redux store.

In this video you'll learn how to dispatch actions. Actions are instructions that get set to the store to change the store data.

In this video you'll learn how to subscribe to changes in the Redux store. That means you'll be able to run some code whenever the data changes. 

In this video you'll learn about ES6 Object Destructuring. It's a way to create variables based on properties from an object.

In this video you'll learn about ES6 Array Destructuring. It's a way to create variables based on items in an array.

In this video you'll refactor Redux by moving each part into it's own file.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Taught by Andrew Mead, who is recognized for their work in the topic that the course teaches
Teachers React, which is a leading framework in the industry
Examines JavaScript, which is highly relevant to web development
Explores React, Redux, React-Router, and Webpack, which are standard in industry
Requires learners to come in with some programming experience first

Save this course

Save The Complete React Developer Course (w/ Hooks and Redux) to your list so you can find it easily later:
Save

Reviews summary

Amazing react developer course

Learners say this React Developer course is amazing with thorough content featuring the latest features and real-world applications.
This course features real-world applications for React.
"Andrew was very thorough on the course content with the latest features, and real-application uses"
This course includes the latest React features.
"Andrew was very thorough on the course content with the latest features"
This course is amazing.
"Amazing course!"
"Definitely learned a ton throughout this course"

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 The Complete React Developer Course (w/ Hooks and Redux) with these activities:
Review ECMAScript 6
Ensures that basic ES6 syntax and concepts are fresh in the mind before beginning the course.
Browse courses on ES6
Show steps
  • Review arrow functions, template strings, and let/const syntax
  • Practice destructuring objects and arrays
Review React Concepts
Helps students refresh their understanding of core React concepts like components, state, and props before diving into advanced topics.
Browse courses on React
Show steps
  • Go over the basics of React components and their lifecycle
  • Review state management and how it works in React
  • Practice using props to pass data between components
Build a Simple React App
Provides students with an opportunity to apply their React knowledge and build a basic application, reinforcing their understanding of the concepts.
Browse courses on React
Show steps
  • Create a new React project using create-react-app
  • Add components and style them using CSS
  • Implement simple state management to track user input
Two other activities
Expand to see all activities and additional details
Show all five activities
Attend a React Meetup
Connects students with other React developers and provides an opportunity to learn about industry trends and best practices.
Browse courses on React
Show steps
  • Find a local React Meetup group
  • Register for an upcoming event
Write a Blog Post on React Best Practices
Encourages students to synthesize their knowledge of React by writing about best practices, solidifying their understanding and improving their communication skills.
Browse courses on React
Show steps
  • Research and gather information on React best practices
  • Organize and outline the content for the blog post
  • Write the first draft of the blog post
  • Revise, edit, and finalize the blog post

Career center

Learners who complete The Complete React Developer Course (w/ Hooks and Redux) will develop knowledge and skills that may be useful to these careers:
Front-End Developer
Front End Developers are responsible for the design and implementation of the user interface and experience of a website or application. This course can help you develop the skills you need to become a Front End Developer, including proficiency in React, Redux, and other essential tools and technologies. You will also learn how to create responsive and user-friendly interfaces and applications that meet the needs of users.
React Developer
React Developers are responsible for developing and maintaining the user interface and experience of web applications using the React framework. This course can help you develop the skills you need to become a React Developer, including proficiency in React, Redux, and other essential tools and technologies. You will also learn how to create responsive and user-friendly web applications that meet the needs of users.
JavaScript Developer
JavaScript Developers are responsible for developing and maintaining web applications using the JavaScript programming language. This course can help you develop the skills you need to become a JavaScript Developer, including proficiency in React, Redux, and other essential tools and technologies. You will also learn how to create responsive and user-friendly web applications that meet the needs of users.
Web Developer
Web Developers are responsible for developing and maintaining websites and web applications. This course can help you develop the skills you need to become a Web Developer, including proficiency in React, Redux, and other essential tools and technologies. You will also learn how to create responsive and user-friendly websites and web applications that meet the needs of users.
Software Engineer
Software Engineers are responsible for designing, developing, and maintaining software applications. This course can help you develop the skills you need to become a Software Engineer, including proficiency in React, Redux, and other essential tools and technologies. You will also learn how to create scalable and reliable software applications that meet the needs of users.
User Experience (UX) Designer
User Experience (UX) Designers are responsible for designing and evaluating the user experience of websites and applications. This course can help you develop the skills you need to become a UX Designer, including proficiency in user research, prototyping, and interaction design. You will also learn how to create user-friendly and engaging websites and applications that meet the needs of users.
Product Manager
Product Managers are responsible for defining, developing, and launching new products. This course can help you develop the skills you need to become a Product Manager, including proficiency in product strategy, development, and marketing. You will also learn how to create successful products that meet the needs of users.
Data Analyst
Data Analysts are responsible for collecting, analyzing, and interpreting data to help businesses make informed decisions. This course can help you develop the skills you need to become a Data Analyst, including proficiency in data analysis, visualization, and statistics. You will also learn how to use data to identify trends and patterns and make recommendations to improve business performance.
Project Manager
Project Managers are responsible for planning, executing, and closing projects. This course can help you develop the skills you need to become a Project Manager, including proficiency in project planning, management, and communication. You will also learn how to manage projects effectively and efficiently and deliver results on time and within budget.
Business Analyst
Business Analysts are responsible for analyzing and improving business processes. This course can help you develop the skills you need to become a Business Analyst, including proficiency in business analysis, modeling, and communication. You will also learn how to identify and analyze business problems and develop solutions to improve performance.
Technical Writer
Technical Writers are responsible for creating and maintaining technical documentation. This course can help you develop the skills you need to become a Technical Writer, including proficiency in technical writing, editing, and project management. You will also learn how to create clear and concise technical documentation that meets the needs of users.
Instructional Designer
Instructional Designers are responsible for designing and developing educational materials. This course can help you develop the skills you need to become an Instructional Designer, including proficiency in instructional design, development, and evaluation. You will also learn how to create effective and engaging educational materials that meet the needs of learners.
Quality Assurance Analyst
Quality Assurance Analysts are responsible for testing and ensuring the quality of software applications. This course can help you develop the skills you need to become a Quality Assurance Analyst, including proficiency in software testing, debugging, and documentation. You will also learn how to test software applications effectively and efficiently and identify and report bugs and defects.
Systems Analyst
Systems Analysts are responsible for analyzing and designing computer systems. This course can help you develop the skills you need to become a Systems Analyst, including proficiency in systems analysis, design, and implementation. You will also learn how to analyze and design computer systems that meet the needs of businesses and organizations.
Database Administrator
Database Administrators are responsible for managing and maintaining databases. This course can help you develop the skills you need to become a Database Administrator, including proficiency in database management, administration, and security. You will also learn how to manage and maintain databases effectively and efficiently and ensure the integrity and security of data.

Reading list

We've selected 13 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 The Complete React Developer Course (w/ Hooks and Redux).
A comprehensive guide to building React web applications, covering both the fundamentals and advanced topics like Redux and React Router.
Serves as both a reference and a textbook, providing a comprehensive overview of JavaScript. It will be particularly valuable for those who want to gain a deep understanding of the language and its applications in web development.
Complements the course by providing a deep understanding of the underlying concepts and principles of React and its ecosystem, making it an excellent choice as both a reference and a textbook for those who want to master React.
Provides a practical guide to building full-stack React applications using a variety of technologies, including Redux, Express, MongoDB, and Material UI. It's a good choice for those who want to learn how to build real-world React applications.
A practical guide to building React applications with a focus on modern development tools and techniques like webpack, Babel, and ES6.
Explores design patterns and best practices for React development. It's a valuable resource for those who want to build high-quality and maintainable React applications.
Provides a helpful guide to Node.js, a JavaScript runtime environment, which is used in the course to create web servers, compile files, and more. Although it will not provide a deep dive into the specifics of React or Redux, it will aid in understanding these topics.
Provides a comprehensive guide to Node.js, a JavaScript runtime environment, which is used in the course to create web servers, compile files, and more. Although it will not provide a deep dive into the specifics of React or Redux, it will aid in understanding these topics.
Will aid in understanding the core concepts of JavaScript, which is used in React and Redux. It is an excellent choice for those new to JavaScript or those who want to reinforce their understanding of the language.
Will aid in understanding the importance of testing in software development. Although it does not focus on React or Redux, it will provide valuable insight for those interested in developing robust and reliable software.
A comprehensive guide to JavaScript, covering both the fundamentals and advanced topics like asynchronous programming and the DOM.
A guide to writing clean and maintainable JavaScript code, covering topics like variable scoping, object-oriented programming, and functional programming.
A guide to the latest version of JavaScript, covering new features like arrow functions, classes, and modules.

Share

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

Similar courses

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