Learning React Modern Patterns for Developing React Apps [2 ed.]

25,099 7,173 5MB

English Pages [488] Year 2020

Report DMCA / Copyright

DOWNLOAD FILE

Learning React Modern Patterns for Developing React Apps [2 ed.]

Table of contents :
Preface
Conventions Used in This Book
Using Code Examples
O’Reilly Online Learning
How to Contact Us
Acknowledgments
1. Welcome to React
A Strong Foundation
React’s Past and Future
Learning React: Second Edition Changes
Working with the Files
File Repository
React Developer Tools
Installing Node.js
2. JavaScript for React
Declaring Variables
The const Keyword
The let Keyword
Template Strings
Creating Functions
Function Declarations
Function Expressions
Default Parameters
Arrow Functions
Compiling JavaScript
Objects and Arrays
Destructuring Objects
Destructuring Arrays
Object Literal Enhancement
The Spread Operator
Asynchronous JavaScript
Simple Promises with Fetch
Async/Await
Building Promises
Classes
ES6 Modules
CommonJS
3. Functional Programming with JavaScript
What It Means to Be Functional
Imperative Versus Declarative
Functional Concepts
Immutability
Pure Functions
Data Transformations
Higher-Order Functions
Recursion
Composition
Putting It All Together
4. How React Works
Page Setup
React Elements
ReactDOM
Children
React Components
React Components: A Historical Tour
5. React with JSX
React Elements as JSX
JSX Tips
Mapping Arrays with JSX
Babel
Recipes as JSX
React Fragments
Intro to webpack
Creating the Project
Loading the Bundle
Source Mapping
Create React App
6. React State Management
Building a Star Rating Component
The useState Hook
Refactoring for Advanced Reusability
State in Component Trees
Sending State Down a Component Tree
Sending Interactions Back up a Component Tree
Building Forms
Using Refs
Controlled Components
Creating Custom Hooks
Adding Colors to State
React Context
Placing Colors in Context
Retrieving Colors with useContext
Stateful Context Providers
Custom Hooks with Context
7. Enhancing Components with Hooks
Introducing useEffect
The Dependency Array
Deep Checking Dependencies
When to useLayoutEffect
Rules to Follow with Hooks
Improving Code with useReducer
useReducer to Handle Complex State
Improving Component Performance
shouldComponentUpdate and PureComponent
When to Refactor
8. Incorporating Data
Requesting Data
Sending Data with a Request
Uploading Files with fetch
Authorized Requests
Saving Data Locally
Handling Promise States
Render Props
Virtualized Lists
Creating a Fetch Hook
Creating a Fetch Component
Handling Multiple Requests
Memozing Values
Waterfall Requests
Throttling the Network Speed
Parallel Requests
Waiting for Values
Canceling Requests
Introducing GraphQL
GitHub GraphQL API
Making a GraphQL Request
9. Suspense
Error Boundaries
Code Splitting
Introducing: The Suspense Component
Using Suspense with Data
Throwing Promises
Building Suspenseful Data Sources
Fiber
10. React Testing
ESLint
ESLint Plug-Ins
Prettier
Configuring Prettier by Project
Prettier in VSCode
Typechecking for React Applications
PropTypes
Flow
TypeScript
Test-Driven Development
TDD and Learning
Incorporating Jest
Create React App and Testing
Testing React Components
Queries
Testing Events
Using Code Coverage
11. React Router
Incorporating the Router
Router Properties
Nesting Routes
Using Redirects
Routing Parameters
12. React and the Server
Isomorphic Versus Universal
Client and Server Domains
Server Rendering React
Server Rendering with Next.js
Gatsby
React in the Future
Index

Polecaj historie