Table of Contents

This book is organized into nine chapters, each of which is briefly described below. Keep in mind the book is in a state of heavy development, and therefore this table of contents is subject to change.

Introduction (Read Draft)

In the book's introduction I'll introduce React, this book, and the companion project.

Chapter 1. Introducing React (Read Draft)

In this opening chapter you'll learn all about React fundamentals. Among other topics we'll get acquainted with JSX, creating composable components, working with props and state, responding to user input, and loading JSON.

Chapter 2. Configuring a Sane React Development Environment

With a basic understanding of React fundamentals out of the way, in this chapter we'll turn our attention to configuring a sane development environment. You'll learn how to integrate React into the larger JavaScript ecosystem, and we'll explore several useful development, debugging, and testing tools. We'll also talk about cool capabilities such as ES6 support.

Chapter 3. Integrating HTML, CSS, Layouts and Routes

In chapter 2 we'll build upon React fundamentals by focusing on several key aspects of developing a React-powered web application. You'll learn about React's heretical approach to CSS integration, how to create manageable layouts, and various approaches to defining and managing routes.

Chapter 4. Getting Fluxxy With It

Everything we've discussed so far has been primarily focused on React's view-oriented capabilities. However in order to build a complete application you'll ultimately need look at the larger picture. In this chapter you'll learn how to do so through an introduction to Facebook's Flux application architecture. I'll also introduce you to several open source Flux implementations such as Fluxxor and Reflux, and talk about some of the very latest developments in this area such as Facebook's Relay.

Chapter 5. Integrating a REST API with Express

Logically your application will integrate with a data store such as MySQL or MongoDB. But how is this data passed between your React components and the data store? For many applications the conventional approach involves a REST API. In this chapter you'll learn how to create a REST API using the Express web framework, and integrate it alongside the example React application.

Chapter 6. Integrating MongoDB

We'll need a place to store data, and while options abound in regards to databases these days, I thought this would be a fun opportunity to introduce MongoDB and take advantage of MongoDB's JSON-related features. Even if you don't plan on using MongoDB in your own projects, embrace this opportunity to at least learn more about what all the buzz is about and have fun with it. In any case, by the end of this chapter we'll have successfully integrated MongoDB into the application, connecting the REST API developed in the last chapter to the database.

Chapter 7. Integrating Forms

Logically the success of many applications depends upon a high degree of user interaction. In this chapter we'll integrate forms and learn how to process data submitted through these forms. I'll also discuss various other UI-related matters which can contribute to providing users with a highly interactive experience.

Chapter 8. Integrating User Accounts

In this chapter you'll learn how to integrate user account management capabilities, adding user registration, sign in, and other related features such as password recovery. We'll also talk about how to restrict application content to users in a variety of ways.

Chapter 9. Going Native

In this final chapter (for now!), we'll have a look at React Native, a fantastic solution for building and deploying applications on native platforms such as iOS and Android using the very same React and JavaScript technologies you already know and love.