Based on our React Essentials course, 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.
Before you dive into the book, you will want to be familiar with the basics of HTML and CSS.
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.
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.
You will learn how and when to use the most common React hooks:
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.
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.
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.
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.
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
useTransition to improve the responsiveness.
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.
You can download them at: https://bignerdranch.com/solutions/react-resources.zip