Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

Browse all series

React - Beyond the Basics

So you've learned the basics of building apps with React but want to learn more? Fortunately, React has a massive ecosystem with tools and libraries that can help make building apps with React even easier. In this series, we'll take a look at some of these tools and techniques including performance options with memoization, testing tools in React, TypeScript with React, state management, data fetching libraries, CSS in JS options, form libraries, and more.

Progress

Series Info

Episodes
13
Run Time
3h 58m
Difficulty
Intermediate
Last Updated
Apr 15, 2022
Version
Latest

Series Episodes

  1. Additional Hooks (2)
    1. An Alternative Way to Define Your State

      Let's start off by taking a look at the `useReducer` hook. `useReducer` is an alternative way to define your state and is preferable when you have complex state logic that depends on one another. To illustrate this, we convert two simple applications to make use of the `useReducer` hook.
    2. Memoization for Performance

      React comes with a few options to memoize certain parts of your React application. `useMemo` allows you to remember values you've already calculated before, `useCallback` allows you to memoize functions and `React.memo` allows you to memoize your components.
  2. Testing in React (2)
    1. Testing in React

      We take a look at testing your React applications and the tools required to accomplish this. We explore how we can make use of Jest, Jest DOM, and React Testing Library to ensure the features of your application are working as expected.
    2. Testing a Todo App

      Now that we have a better understanding of the testing tools available in React, let's test a Todo application we built from a previous series.
  3. TypeScript with React (2)
    1. TypeScript with React

      TypeScript has grown in popularity over the last few years, especially when paired with React. We take a look at some of the basics of TypeScript, its potential benefits and how to use its features within a React application.
    2. Using TypeScript for a Todo App

      Now that we have a good understanding of how to use TypeScript in a React app, let's convert a Todo App to make use of TypeScript instead.
  4. State Management (2)
    1. Context API vs State Management Library

      The Context API is a great way to share state between components and is built right into React. However, it can cause unnecessary re-renders of components which can lead to performance issues in large applications. In this video, we take a look at replacing Context with a dedicated state management library like Zustand.
    2. Zustand for State Management

      We take another look at using zustand as a global state management library for a React Todo application. We move our state to a global store, and make use of a hook to use it anywhere in the component tree. We also take a look at other features zustand has to offer like usage with Redux devtools, and persistence to local storage.
  5. Additional React Libraries (5)
    1. CSS in React

      React provides several options when it comes to writing your CSS. You can stick to the traditional way with external CSS files and class names, or you can make use of CSS within JavaScript. In this video, we take a look at a few of these popular options.
    2. Cleaning up Form Code with Formik

      Forms are a big part of any web application and if you're not careful, your code can quickly become messy. In this video, we take a look at using Formik to keep things under control. We also check out client side validation with the Yup library.
    3. Data Fetching with SWR

      Most web applications need to fetch data from an external source. If you're not careful, this so-called "server" state can get quite messy. Data fetching libraries like SWR can help clean this code up and also provide features like caching and re-fetching capabilities.
    4. Next.js Overview

      Next.js is a framework on top of React that has the ability to pre-render your pages. This can result in better performance and SEO. Next.js also offers useful features like file-based routing, Layouts and Image optimization.
    5. Inertia.js with React and Laravel

      Inertia.js allows you create single-page apps without the complexity of most modern SPAs. Things like routing, controllers, redirects and validation still happen on the server, giving you a very familiar feel to building traditional Laravel applications. In this video, we take a look at using Inertia.js with React and build the obligatory blog application example.

Continue Learning