React Cookbook
Create dynamic web apps with React using Redux, Webpack, Node.js, and GraphQL
Carlos Santana Roldan
- 580 pages
- English
- ePUB (mobile friendly)
- Available on iOS & Android
React Cookbook
Create dynamic web apps with React using Redux, Webpack, Node.js, and GraphQL
Carlos Santana Roldan
About This Book
Over 66 hands-on recipes that cover UI development, animations, component architecture, routing, databases, testing, and debugging with React
Key Features
- Use essential hacks and simple techniques to solve React application development challenges
- Create native mobile applications for iOS and Android using React Native
- Learn to write robust tests for your applications using Jest and Enzyme
Book Description
Today's web demands efficient real-time applications and scalability. If you want to learn to build fast, efficient, and high-performing applications using React 16, this is the book for you. We plunge directly into the heart of all the most important React concepts for you to conquer. Along the way, you'll learn how to work with the latest ECMAScript features.
You'll see the fundamentals of Redux and find out how to implement animations. Then, you'll learn how to create APIs with Node, Firebase, and GraphQL, and improve the performance of our application with Webpack 4.x. You'll find recipes on implementing server-side rendering, adding unit tests, and debugging. We also cover best practices to deploy a React application to production. Finally, you'll learn how to create native mobile applications for iOS and Android using React Native.
By the end of the book, you'll be saved from a lot of trial and error and developmental headaches, and you'll be on the road to becoming a React expert.
What you will learn
- Gain the ability to wield complex topics such as Webpack and server-side rendering
- Implement an API using Node.js, Firebase, and GraphQL
- Learn to maximize the performance of React applications
- Create a mobile application using React Native
- Deploy a React application on Digital Ocean
- Get to know the best practices when organizing and testing a large React application
Who this book is for
If you're a JavaScript developer who wants to build fast, efficient, scalable solutions, then you're in the right place. Knowledge of React will be an advantage but is not required. Experienced users of React will be able to improve their skills.
Frequently asked questions
Information
Conquering Components and JSX
- Creating our first React component
- Organizing our React application
- Styling a component with CSS classes and inline styles
- Passing props to a component and validating them with PropTypes
- Using local state in a component
- Making a functional or stateless component
- Understanding React lifecycle methods
- Understanding React Pure Components
- Preventing XSS vulnerabilities in React
Introduction
Creating our first React component
Getting ready
npm install -g create-react-app
npm i -g create-react-app
How to do it...
- Create our React application with the following command:
create-react-app my-first-react-app
- Go to the new application with cd my-first-react-app and start it with npm start.
- The application should now be running at http://localhost:3000.
- Create a new file called Home.js inside your src folder:
import React, { Component } from 'react';
class Home extends Component {
render() {
return <h1>I'm Home Component</h1>;
}
}
export default Home;
- You may have noticed that we are exporting our class component at the end of the file, but it's fine to export it directly on the class declaration, like this:
import React, { Component } from 'react';
export default class Home extends Component {
render() {
return <h1>I'm Home Component</h1>;
}
}
I prefer to export it at the end of the file, but some people like to do it in this way, so it depends on your preferences.
- Now that we have created the first component, we need to render it. So we need to open the App.js file, import the Home component, and then add it to the render method of the App component. If we are opening this file for the first time, we will probably see a code like this:
import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css';
class App extends Component {
render() {
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<h1 className="App-title">Welcome to React</h1>
</header>
<p className="App-intro">
To get started, edit <code>src/App.js</code>
and save to reload.
</p>
</div>
);
}
}
export default App;
- Let's change this code a little bit. As I said b...