Book Image

React Design Patterns and Best Practices

By : Michele Bertoli
Book Image

React Design Patterns and Best Practices

By: Michele Bertoli

Overview of this book

Taking a complete journey through the most valuable design patterns in React, this book demonstrates how to apply design patterns and best practices in real-life situations, whether that’s for new or already existing projects. It will help you to make your applications more flexible, perform better, and easier to maintain – giving your workflow a huge boost when it comes to speed without reducing quality. We’ll begin by understanding the internals of React before gradually moving on to writing clean and maintainable code. We’ll build components that are reusable across the application, structure applications, and create forms that actually work. Then we’ll style React components and optimize them to make applications faster and more responsive. Finally, we’ll write tests effectively and you’ll learn how to contribute to React and its ecosystem. By the end of the book, you’ll be saved from a lot of trial and error and developmental headaches, and you will be on the road to becoming a React expert.
Table of Contents (19 chapters)
React Design Patterns and Best Practices
About the Author
About the Reviewer
Customer Feedback

JavaScript testing utilities for React

At this point, it should be clear how to test basic components with Jest and Mocha and what the pros and cons are of both.

You have also learned what the TestUtils are and the difference between Shallow rendering and full DOM Rendering.

You may have noticed that the TestUtils, even if they provide a useful tool to help testing components, are verbose and sometimes it is not easy to find the right approach to get the reference to the elements and their properties.

That is the reason why the developers at AirBnb decided to create Enzyme, a tool built on top of the TestUtils that makes it easy to manipulate the rendered components.

The API is nicer, similar to jQuery, and it provides many useful utilities to interact with components, their states, and their properties.

Let's see what it means to convert our Jest tests to use Enzyme instead of the TestUtils.

So, please go back to the Jest project we previously created and install enzyme:

npm install --save-dev...