Web applications nowadays are built with the help of Databinding. We'll start by talking about the problems posed
in a world without Databinding. The solution to these problems can be found in libraries and frameworks such as
React. This module explores a short summary of features you find in React, and what we can do with it.
- The Evolution of Web Development
- Components Everywhere
- Combining React with other Libraries
- React Tooling
First of all, we'll get started by looking at how a React application is structured, and what it does. Then we'll
learn about JSX. JSX is an optional syntax created by the people behind React. This module talks about the how,
which and when of expressions in a React application, as well as introducing the concept of Components. We'll
- React App Structure
- Class-based and Functional Components
- JSX Crash Course
- Databinding, Collections and Interactivity
- Working with Child components
- Styling React Components
- LAB: React Fundamentals
State and Props
To be able to reuse and split our application into logical parts, we need components. These components are what
we'll use to create interactivity in the application. Interactivity however, can only work if we keep track of the
state of the application. This chapter explores the data flow of a React application and how React components
communicate with each other.
- Components are State Machines
- How does Component State work
- Props and Data Flow
- Smart and Dumb Components
- LAB: State and Props
With the Hooks API, we can now add state and other concepts to Functional components. In this module, you'll learn
the ins and outs of functional components and the hooks that make them great.
- Functional Components
- State Hook
- Effect Hook
- Things to Know when Using Hooks
- Building your own Custom Hooks
- LAB: React Hooks
Working with Forms
- What are refs and How do I use them Correctly?
- Value Binding to State
- Controlled vs Uncontrolled Components
- Sanitizing and Validating Input
- Using Libraries to Manage your Forms
- LAB: React Hook Forms
Talking to the Server
Single Page applications are great! But where do they get their data? In this module, we'll explore how you can
access a Back-end from React, and how to implement handy features like caching and lazy loading
- Fetch API
- When and Where to Fetch Data?
- Using the Effect Hook
- LAB: Talking To the Server
As components become more complex, the need to organize them grows. In this module, we'll see some nifty ways to
share and reuse state and logic between different components
- Working with Context and the UseContext Hook
- Rendering Dynamic Content with Render Props
- Higher Order Components
- LAB: Building a Higher Order Component
Building a Single Page Application with React is not that hard. It all comes down to switching one component for
another when navigation in the application happens. Navigation in a SPA is of course different than when we have
multiple pages. In this chapter we'll look at React Router, which will make sure that navigation is automatically
bound to components.
- Introducing React Router
- Paths and Parameters
- Nesting Routes
- Lazy Loading
- Component Lifecycle
- LAB: Building a Single Page Application with React-Router
- Virtual DOM
- Using Memoization and the Callback Hook
- Avoiding Computational Work
- Avoiding Re-rendering
As Single Page Applications gain more and more features, they need to handle more and more state. Using a state management pattern can help us keep things neat and tidy.
- Externalizing State from Components
- Redux: the State Management Pattern of Champions
- Mobx: a Simpler, more Lightweight Alternative to Redux
This chapter will explore Redux. A data flow pattern for enterprise applications.
- What is Redux?
- Actors: Store, Actions, Reducers
- View and Hooks
- Asynchronous Actions
- LAB: State Management with Redux
Jest and React
Because people need to create unit tests when writing code, the React team has created a library that makes it
easier. Jest is a unit test framework, based on Jasmine. It allows for a couple of features that are very welcome to
- What is Jest?
- Creating Tests with Jest
- Asynchronous Methods
- Testing React components using Snapshots
two-way binding approach has sailed well with Angular JS (1.X), Knockout, Backbone, ...
But there might be a better way: Facebook has re-envisioned the problem and React was born. React implements a
one-way reactive data flow, which is more intuitive and avoids lots of boilerplate code.
In this 3-day training developers will learn how to use React and its component based development to create rich and
looking for ways to improve their productivity with React. The main focus is getting started in the React world with
the help of a step by step introduction to the framework.