Book Image

React 16 Essentials - Second Edition

By : Christopher Pitt, Artemij Fedosejev, Adam Boduch
Book Image

React 16 Essentials - Second Edition

By: Christopher Pitt, Artemij Fedosejev, Adam Boduch

Overview of this book

React 16 Essentials, Second Edition, fully updated for React 16, takes you on a fast-paced journey through building your own maintainable React 16 applications. React experts Artemij Fedosejev and Adam Boduch give you all the essentials you need to know and start working with React 16, in this new edition of the best-selling React.js Essentials title. You'll find the latest React 16 code updates, assessment of React Fiber, new coverage of Redux, and how to work as a modern React developer. The authors offer you their current assessment of React Fiber, and you'll soon be exploring React 16 hands on, creating your own single and multiple user interface elements with React 16. You'll then see how to create stateless and stateful components and make them reactive. You'll also learn to interact between your components and lifecycle methods, and gauge how to effectively integrate your user interface components with other JavaScript libraries. Delve deep into the core elements of the Redux architecture and learn how to manage your application and data persistence. Then go the extra mile with the Jest test framework, and run multiple tests on your applications and find solutions to scale without complexity. Today React is used by Facebook, Instagram, Khan Academy, and Imperial College London, to name a few. Many new users recognize the benefits of React and adopt it in their own projects, forming a fast-growing community. The speed at which React has evolved promises a bright future for anyone who invests in learning it today. Let Artemij and Adam bring you a brand new look at React 16 and React Fiber, and move your web development into the future.
Table of Contents (20 chapters)
React 16 Essentials Second Edition
About the Authors
About the Reviewers
Customer Feedback
Free Chapter
What's New in React 16

Testing React components

Let's step back from writing code for a minute and talk about what it means to test the user interface. What exactly are we testing? We're testing the fact that our user interface renders as expected. In other words, if we tell React to render a button, we expect it to render a button—not more, not less.

Now how can we check that this is the case? One way of doing this is to write a React component, bundle our application, run it in a web browser, and see with our own eyes that it displays what we want it to display. This is manual testing and we do it at least once. But it is time consuming and unreliable in the long term.

How can we automate this process? Jest can do most of the work for us, but Jest doesn't have it's own eyes, so it will need to borrow our eyes at least once for each component. If Jest "can't see" the result of rendering a React component, then how can it even test a React component?

In Chapter 3, Creating Your First React Element, we discussed React...