ReactJS Foundations

ReactJS Foundations

Building User Interfaces with ReactJS

An Approachable Guide

★★★★★

"It's not only the best book on React, it's probably one of the best tech books I've ever cracked open. It's reads really well and is formatted really nicely."

★★★★★

"Best ReactJS book I have come across. Simply the best. This book is well structured and detailed for absolute beginner to a professional. I am impressed to be honest"

★★★★★

"It is rare to find it hard to put down a programming book but it is the case for me with this one. It should be the textbook for any React course and for anyone learning react."

★★★★★

"This is a wonderfully researched, impeccably written book meticulously covering the all the key, core concepts involved in developing application with React."

★★★★★

"The details inside are perfectly explained, organized in perfect order, and explained completely."
Read More Reviews

WHY THIS BOOK?

My aim with this book is to provide an up-to-date and thorough explanation of React and the React ecosystem along with hands-on code that will prepare you to quickly start using React productively in the real world. I'm thrilled to have written this book at this time for a number of reasons:

  • I have the experience and knowledge to do it right.
  • React is one of the most popular JavaScript libraries today.
  • I believe React will be even more popular in the future.
  • Existing online resources and books too often give incomplete and/or outdated information about how to program with React.

Let's take a quick look at each of these points, starting with a little bit about who I am and how I came to React and this book.

About Me

I've been a web developer since 1997, and I've been programming in JavaScript since 1998. I've built or managed the building of web applications for some of the world's largest companies over the years. As a web developer, writer, and teacher, I've had to learn and use plenty of languages and JavaScript frameworks. There's a difference between learning something and applying it, and I've been working on projects with React and doing React consulting for several years now.

I've been teaching web development and JavaScript online and in person since 2000, and I've been teaching React since 2015. In the years that I've been teaching React, I've written three weeklong courses designed for in-person delivery, numerous short video courses, and two longer video courses. I've taught React on three continents, and my students have been web developers, Java and C programmers, COBOL programmers, database administrators, network administrators, project managers, graphic designers, and college students.

As I wrote this book, the global COVID-19 pandemic had decimated the in-person training industry. While I was greatful to have more time at home with the pets, it also gave me time to think deeply about React and about the React book that I wish existed today. This book is the result of my looking at all of the top React books, looking at the current state of how React is being used, and looking at what React is likely to look like in the future.

React Is Popular

React is a JavaScript library that was born out of Facebook's need to create scalable and fast user interfaces. Ever since Facebook released it to the world as an open source project, it has been one of the most widely used ways to build dynamic web and mobile applications. One popular game among JavaScript developers is to think of a noun, add ".js" and search GitHub to find the JavaScript framework with that name. In a time when new JavaScript frameworks and libraries pop up and die off with shocking regularity, React is one of three libraries released since 2010 that has stuck around and gained the kind of developer usage that will guarantee that it will be supported and in widespread use for a long time to come.

React Is Both Progressive and Conservative

React has been able to stick around so long and gain so many users because it's always been a forward-looking framework that's not afraid to make big changes to adapt to new features in JavaScript, new ways of writing user interfaces, and feedback from developers.

Over the years, React has gone through several major changes in how the basic unit of a React application, the component, is written. But, amidst all this change, React has stuck to a central paradigm and each major change to React has maintained compatibility with previous versions.

Don't Believe Everything on the Internet

While the end result of all this change is that React has gotten easier to write and more robust over the years, it's also caused a pileup of outdated and often wrong example code and tutorials on the internet and in books. If you've done any research on React prior to buying this book, you've surely noticed this, and you've likely been confused by it. Perhaps you bought this book after having a frustrating experience with learning React online only to learn that you learned about an old version of it. This book aims to be a solid and complete guide to all of the most important (and some less important) features, concepts, and syntaxes used in React.

Thank you for choosing to begin, or continue, your React journey with me.

- Chris Minnick

Download the examples, report issues, and ask/answer questions in the discussion area by visiting the book's github page. All of the code for the book is also available on codesandbox.io for you to play around with.

ReactJS Foundations is published by John Wiley and Sons, Inc and is available in paperback and eBook.

React JS Foundations

Latest Blog Posts

React Router v6 Code Posted

Chapter 12 covers how to do Routing in React using React Router v5. In the time since the book came out, React Router v6 has been released, which includes some changes to how it’s used. I’m also working on writing a version of Chapter 12 that covers React Router 6. I’ll post that to the […]

Read More >

Errata: Chapter 6

The final code example in the Shallow Copies and the Spread Operator section on page 160 shows a rest parameter with only two periods. There should be three. The correct code is:

Read More >

React 18 Update

The biggest change in React 18 is the addition of concurrent rendering. With concurrent rendering, you can mark state updates as non-urgent in order to improve the performance of your user interface. Concurrent rendering is opt-in. What this means is that it’s only enabled when you use a concurrent feature. As a result, apps built […]

Read More >