Search icon
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
React 18 Design Patterns and Best Practices - Fourth Edition

You're reading from  React 18 Design Patterns and Best Practices - Fourth Edition

Product type Book
Published in Jul 2023
Publisher Packt
ISBN-13 9781803233109
Pages 524 pages
Edition 4th Edition
Languages
Author (1):
Carlos Santana Roldán Carlos Santana Roldán
Profile icon Carlos Santana Roldán

Table of Contents (20) Chapters

Preface 1. Taking Your First Steps with React 2. Introducing TypeScript 3. Cleaning Up Your Code 4. Exploring Popular Composition Patterns 5. Writing Code for the Browser 6. Making Your Components Look Beautiful 7. Anti-Patterns to Be Avoided 8. React Hooks 9. React Router 10. React 18 New Features 11. Managing Data 12. Server-Side Rendering 13. Understanding GraphQL with a Real Project 14. MonoRepo Architecture 15. Improving the Performance of Your Applications 16. Testing and Debugging 17. Deploying to Production 18. Other Books You May Enjoy
19. Index

Types

In the last example, we saw how to specify some primitive types for our function parameter and returned value, but you’re probably wondering how you can describe an object or array with more details. Types can help us to describe our objects or arrays in a better way. For example, let’s suppose you want to describe a User type to save the information into the database:

type User = {
  username: string
  email: string
  name: string
  age: number
  website: string
  active: boolean
}
const user: User = {
  username: 'czantany',
  email: 'carlos@milkzoft.com',
  name: 'Carlos Santana',
  age: 33,
  website: 'http://www.js.education',
  active: true
}
// Let's suppose you will insert this data using Sequelize...
models.User.create({ ...user }}

We get the following error if we forget to add one of the nodes or put an invalid value in one of them:

Text  Description automatically generated

Figure 2.2: Age is missing in type User but is required

If you need optional nodes, you can always put a ? next to the age of the node, as shown in the following code block:

type User = {
  username: string
  email: string
  name: string
  age?: number
  website: string
  active: boolean
}

You can name type as you want, but a good practice to follow is to add a prefix of T. For example, the User type will become TUser. In this way, you can quickly recognize that it is type and you don’t get confused thinking it is a class or a React component.

You have been reading a chapter from
React 18 Design Patterns and Best Practices - Fourth Edition
Published in: Jul 2023 Publisher: Packt ISBN-13: 9781803233109
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €14.99/month. Cancel anytime}