Skip to main content
main-content
Top

About this book

Pro React teaches you how to successfully structure increasingly complex front-end applications and interfaces. This book explores the React library in depth, as well as detailing additional tools and libraries in the React ecosystem, enabling you to create complete, complex applications.

You will learn how to use React completely, and learn best practices for creating interfaces in a composable way. You will also cover additional tools and libraries in the React ecosystem (such as React Router and Flux architecture). Each topic is covered clearly and concisely and is packed with the details you need to learn to be truly effective. The most important features are given no-nonsense, in-depth treatment, and every chapter details common problems and how to avoid them.

If you already have experience creating front-end apps using jQuery or perhaps other JavaScript frameworks, but need to solve the increasingly common problem of structuring complex front-end applications, then this book is for you. Start working with React like a pro - add Pro React to your library today.

Table of Contents

Chapter 1. Getting Started

Abstract
React is an open-source project created by Facebook. It offers a novel approach towards building user interfaces in JavaScript. Since its initial public release, the library has experienced a fast adoption rate and has created a vibrant community around it.
Cássio de Sousa Antonio

Chapter 2. Inside the DOM Abstraction

Abstract
In the previous chapter, you saw that React abstracts away the DOM, providing a simpler programming model, better performance, and the possibility to render components on the server and even power native mobile apps.
Cássio de Sousa Antonio

Chapter 3. Architecting Applications with Components

Abstract
The previous chapters provided an overview of React. You saw that React is all about bringing a component-based architecture to interface building. You understood the evolutionary approach of bringing HTML together with JavaScript to describe components and achieve separation of concerns not by separating technologies or languages, but by having discreet, isolated, reusable, and composable components.
Cássio de Sousa Antonio

Chapter 4. Sophisticated Interactions

Abstract
Having the correct expected functionality, fast load times, and a great perceived performance is not enough for an application by today’s standards. The interface must also be refined, smooth, and include sophisticated interactions such as animated elements and drag-and-drop interactions.
Cássio de Sousa Antonio

Chapter 5. Routing

Abstract
The URL is an important strength that the Web has over native apps. It was born as simple pointer to a document on a server, but in web applications the best way to think of it is as the representation of the application’s current state. By looking at the URL the user can understand the part of the application where he currently is, but he can also copy it for later use or pass it along.
Cássio de Sousa Antonio

Chapter 6. Architecting React Applications with Flux

Abstract
As you saw earlier, one core philosophy of React is that data flows in a single direction, from parent to child components as props. When a parent component needs its children to reach back, it can pass callback functions down as props as well.
Cássio de Sousa Antonio

Chapter 7. Performance Tuning

Abstract
React was designed from the ground up with performance in mind. It uses several clever techniques to minimize the number of costly DOM operations required to update the UI, but it also provides tools and methods to fine-tune the performance when required.
Cássio de Sousa Antonio

Chapter 8. Isomorphic React Applications

Abstract
To put it simply, a single page application is merely an empty HTML body that uses JavaScript to bring the page to life. While there are lots of benefits to this approach, there is also one visible downside: by the time the browser is able to download and run the application’s JavaScript (and ask the server for the initial data), users will experience a flash of blank page before seeing any content.
Cássio de Sousa Antonio

Chapter 9. Testing React Components

Abstract
As our applications grow more complex and we continue to add new features, we need to verify that our new implementations haven’t introduced bugs to our existing functionalities. Automated testing provides a living documentation of expected behaviors and allows us to develop with more confidence, knowing that any problems will be immediately apparent.
Cássio de Sousa Antonio
Additional information