Building Modern Web Applications with React and Redux
In this workshop, you'll learn how to build real-world applications using React and Redux. We'll start from the basics of getting your first React application off the ground before quickly moving into testing, state management, and routing. By the end of the morning, you will have created custom components using JSX to build a working application that works with a server-side API and client-side routing and deployed it to production.
Managing application state in a way that is both performant and maintainable is no small task. Redux offers a battle-tested solution for managing state in large, production-scale applications. That said, it can be overwhelming to wrap your head around when you're beginning and even trickier when you're learning it in the context of a React application. We'll start by looking at Redux in its simplest form—outside of React. We'll explore best practices for structuring your data and binding your application state to a React application. We'll implement advanced patterns such as undo/redo, middleware, and asynchronous actions that work with a server-side API.
- Learn how to build components in React using JSX.
- Work with a server-side API to build real world applications.
- Write maintainable unit tests for your component.
- Implement client-side routing using React Router.
- Learn how Redux works outside of a React application.
- Understand the inner-workings of the React-Redux bindings.
- Write custom middleware for Redux.
- Work with asynchronous APIs.
- Structure application state for optimal performance and maintainability.
- Implement patterns such as time-travelling.
Method of Instruction
Lecture and hands-on development
- Knowledge: 40%
- Skill-Building: 60%
Some React knowledge is required, but if you attended the React workshop earlier in the day, you will be able to follow along!
You'll need a recent version of Node.js installed on your computer with administrative access.
You'll also want the following extensions for Google Chrome.