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

Creating React elements with JSX

When we build our virtual DOM by constantly calling the React.createElement() method, it becomes quite hard to translate these multiple function calls visually into a hierarchy of HTML tags. Don't forget that even though we're working with a virtual DOM, we're still creating a structure layout for our content and user interface. Wouldn't it be great to be able to visualize that layout easily by simply looking at our React code?

JSX is an optional HTML-like syntax that allows us to create a virtual DOM tree, without using the React.createElement() method.

Let's take a look at the previous example that we created without JSX:

import React from 'react';
import ReactDOM from 'react-dom';

const listItemElement1 =
  { className: 'item-1', key: 'item-1' },
  'Item 1'
const listItemElement2 =
  { className: 'item-2', key: 'item-2' },
  'Item 2'
const listItemElement3 =
  { className: 'item-3', key: 'item-3' },