Book Image

React 18 Design Patterns and Best Practices - Fourth Edition

By : Carlos Santana Roldán
4.2 (6)
Book Image

React 18 Design Patterns and Best Practices - Fourth Edition

4.2 (6)
By: Carlos Santana Roldán

Overview of this book

React helps you work smarter, not harder — but to reap the benefits of this popular JavaScript library and its components, you need a straightforward guide that will teach you how to make the most of it. React 18 Design Patterns and Best Practices will help you use React effectively to make your applications more flexible, easier to maintain, and improve their performance, while giving your workflow a huge boost. With a better organization of topics and knowledge about best practices added to your developer toolbox, the updated fourth edition ensures an enhanced learning experience. The book is split into three parts; the first will teach you the fundamentals of React patterns, the second will dive into how React works, and the third will focus on real-world applications. All the code samples are updated to the latest version of React and you’ll also find plenty of new additions that explore React 18 and Node 19’s newest features, alongside MonoRepo Architecture and a dedicated chapter on TypeScript. By the end of this book, you'll be able to efficiently build and deploy real-world React web applications.
Table of Contents (20 chapters)
18
Other Books You May Enjoy
19
Index

Locally scoped CSS

Now it is time to create our app, which will consist of a simple button of the same sort we used in previous examples. We will use it to show all the features of the CSS modules.

Let’s update the src/index.tsx file, which is the entry we specified in the Webpack configuration:

import { createRoot } from 'react-dom/client'

We can then create a simple button. As usual, we are going to start with a non-styled button, and we will add the styles step by step:

const Button = () => <button>Click me!</button>

Finally, we can render the button into the DOM:

createRoot(document.getElementById('root') as HTMLElement).render(<Button />)

Now, suppose we want to apply some styles to the button – a background color, size, and so on. We create a regular CSS file, called index.css, and we put the following class into it:

.button {
  background-color: #ff0000;
  width: 320px;
  padding: 20px...