Course Overview

In this 3-day class, students learn the fundamental ideas behind React and then quickly move on to hands-on problem solving and some of the most advanced and up-to-date techniques and tools in React development, including: Redux, Redux thunk, Redux Saga, Hooks, and server-side react. The course teaches just enough about testing and tools for students to be productive, but is primarily focused on hands-on exercises in which students will build a real-world ecommerce shopping cart application. An optional introduction to modern JavaScript syntax (ES6+) and best practices is included and can be used for self-study or in-class lecture and demonstrations.

Key Learning Areas

  • Use Create-React-App to get started quickly with React
  • Learn to write unit tests for React, using Jest and Enzyme
  • Understand what React is and what problem it solves
  • Explore the basic architecture of a React application
  • Gain a deep knowledge of React components and JSX
  • Build a working application that uses React components
  • Learn about the new Hooks API
  • Use Redux for maintaining state in a React.js application
  • Use the Context API to pass data in a component tree
  • Use Redux middleware
  • Make AJAX requests with React
  • Use server-side rendering
  • Learn React best practices

Course Outline

  • Introduction
  • Advanced JavaScript
  • Introduction to React.js
  • React Development Process
  • React Component Best Practices
  • Hooks
  • Forms
  • Component Lifecycle
  • Testing React Components
  • Flux and Redux
  • Advanced Topics

Who Benefits

This course is designed for experienced professional developers (in any language) who want to learn how to quickly become productive with the latest version of React.

Prerequisites

Attendees should have at least a beginning to intermediate level of knowledge with JavaScript. Specifically, they should be comfortable working with JavaScript functions and objects.

The courseware includes slides, notes, assignments, a pre/post assessment test, and complete source code for all assignments.