React Programming: The Big Nerd Ranch Guide

Cover image

I'm super excited to have published React Programming: The Big Nerd Ranch Guide as a part of my work as the course owner of the React Essentials bootcamp at Big Nerd Ranch.

This book uses hands-on examples to guide you step by step through building a starter app and a complete, production-ready app, both crafted to help you quickly leverage React's remarkable power.

Your production ready app will include a cart, a login page, and other e-commerce features.

What do you need to know?

Before you dive into the book, you will want to be familiar with the basics of HTML and CSS. It will also help to have a foundational knowledge of JavaScript, although we will cover some JavaScript concepts through the course of the book. You will use these three languages as you build your React application. No need to know anything about React as we will take you through it step by step.

What will you learn?

Components

You will build your application with functional components and JSX. Using components will allow you to reuse code across your application. Components also help organize your code in a logical way that makes it easier to understand and allows for separation of concerns.

Hooks

You will learn how and when to use the most common React hooks: useEffect, useState, useReducer, useRef, useContext, useMemo, and useCallback. You will have opportunities to compare similar hooks and choose the one to best fit your situation. Additionally, we will walk you through creating a custom hook so that you can further take advantage of all hooks have to offer.

Sharing State

You will use props and context to share state between components and to keep up with state between multiple pages. We will compare the trade-offs between the methods, so you can select which is best for each use case in your application.

API Integration

You will practice connecting your app to a server using both API requests and websockets so that you can send and receive information. You will also learn how to display loading and error states to keep your users in the loop during API interactions.

Testing

You will learn how to thoroughly test your React components and flows using React Testing Library. You will also gain experience in writing end-to-end tests with Cypress, a powerful testing framework for modern web applications. Additionally, we will cover setting up a mock server to test your application in a controlled environment. By comparing different testing methods, you will gain the knowledge needed to choose the most effective approach for your needs.

Performance Tuning

Once you've completed the two applications and honed your React skills, you will dive into performance optimization. You will discover how to fine-tune your components to ensure your applications respond quickly to user interactions. You will analyze the bundle size of your application and use lazy loading to reduce the time to first contentful paint. You will use analyze a large page that responds slowly to user input and use tools like memo, useMemo, useCallback, and useTransition to improve the responsiveness.

Helpful Tools

There are several community libraries that you will use throughout this book. One of those will be React Router, which you will use for navigation through your application. You will use PropTypes to specify the types of props coming into your components, so you will know if your components receive incorrect props. You will also use ESLint to check your application for coding errors and to enforce coding style.

Where can you buy the book?

You can order print and DRM free electronic copies from InformIT. It is also available from Amazon and other booksellers.

If you would like the full Big Nerd Ranch experience, enroll in one of their bootcamps or bring them on-site with corporate training.