Chris Minnick 
Beginning ReactJS Foundations Building User Interfaces with ReactJS [PDF ebook] 
An Approachable Guide

Support

Quickly learn the most widely used front-end development language with ease and confidence

React JS Foundations: Building User Interfaces with React JS – An Approachable Guide walks readers through the fundamental concepts of programming with the explosively popular front-end tool known as React JS.

Written by an accomplished full-stack engineer, speaker, and community organizer, React JS Foundations teaches readers how to understand React and how to begin building applications with it. The book:


  • Explains and clarifies technical terminology with relevant and modern examples to assist people new to programming understand the language

  • Helps experienced programmers quickly get up to speed with React

  • Is stocked throughout with practical and applicable examples of day-to-day React work


Perfect for beginner, intermediate, and advanced programmers alike, React JS Foundations will quickly bring you up to speed on one of the most useful and widely used front-end languages on the web today. You can start building your first application today.

€32.99
Zahlungsmethoden

Inhaltsverzeichnis

Introduction Xxvii

Chapter 1: Hello, World! 1

React without a Build Toolchain 1

Interactive “Hello, World” with Create React App and JSX 7

Summary 9

Chapter 2: The Foundation of React 11

What’s in a Name? 11

UI Layer 12

Virtual DOM 13

The Philosophy of React 14

Thinking in Components 15

Composition vs. Inheritance 15

React Is Declarative 16

React Is Idiomatic 17

Why Learn React? 17

React vs…. 18

React vs. Angular 18

React vs. Vue 19

What React Is Not 19

React Is Not a Web Server 20

React Is Not a Programming Language 20

React Is Not a Database Server 21

React Is Not a Development Environment 21

React Is Not the Perfect Solution to Every Problem 21

Summary 21

Chapter 3: JSX 23

JSX Is Not HTML 23

What Is JSX? 30

How JSX Works 30

Transpiler . . . Huh? 31

Compilation vs. Transpilation 31

JSX Transform 31

Introducing Babel 31

Eliminating Browser Incompatibilities 33

Syntax Basics of JSX 33

JSX Is Java Script XML 33

Beware of Reserved Words 33

JSX Uses camel Case 33

Preface Custom Attributes in DOM Elements with data-34

JSX Boolean Attributes 34

Use Curly Braces to Include Literal Java Script 35

Remember to Use Double Curly Braces with Objects 35

Put Comments in Curly Braces 35

When to Use Java Script in JSX 36

Conditionals in JSX 36

Conditional Rendering with if/else and Element Variables 36

Conditional Rendering with the && Operator 37

Conditional Rendering with the Conditional Operator 38

Expressions in JSX 38

Using Children in JSX 40

React Fragments 40

Summary 41

Chapter 4: All About Components 43

What Is a Component? 43

Components vs. Elements 44

Components Define Elements 44

Elements Invoke Components 45

Built-in Components 47

HTML Element Components 47

Attributes vs. Props 52

Passing Props 52

Accessing Props 52

Standard HTML Attributes 54

Non-Standard Attributes 56

Custom Attributes 56

User-Defined

Components 56

Types of Components 56

Class Components 57

Stepping through a React Class Component 68

React.Component 68

Importing React.Component 68

The Class Header 69

The Constructor Function 69

Managing State in Class Components 71

The Render Function 73

Creating and Using Props 74

Function Components 76

What Are Function Components? 79

How to Write Function Components 79

Optimizations and Function Component Shortcuts 80

Managing State in Function Components 83

Differences between Function and Class Components 84

React Component Children 84

this.props.children 85

Manipulating Children 86

React.Children 86

is Valid Element 87

clone Element 87

The Component Lifecycle 89

Mounting 90

constructor() 90

static get Derived State From Props 90

render 90

component Did Mount() 90

Updating 90

should Component Update 91

get Snapshot Before Update 91

component Did Update 92

Unmounting 92

component Will Unmount 92

Error Handling 92

get Derived State From Error 92

component Did Catch 92

Improving Performance and Avoiding Errors 92

Avoiding Memory Leaks 93

React.Pure Component 96

React.memo 97

React.Strict Mode 98

Rendering Components 98

Rendering with React DOM 98

Virtual DOM 100

Other Rendering Engines 101

React Native 101

React DOMServer 102

React Konsul 103

react-pdf 103

Component Terminology 103

Summary 104

Chapter 5: React Devtools 105

Installation and Getting Started 105

Inspecting Components 107

Working with the Component Tree 108

Searching for Components 110

Using the Search Input Box 110

Using Regular Expressions 110

Filtering Components 112

Selecting Components 114

Editing Component Data in Dev Tools 114

Working with Additional Dev Tools Functionality 118

Profiling 119

Summary 121

Chapter 6: React Data Flow 123

One-Way

Data Flow 123

Understanding One-Way

Data Flow 124

Why One-Way

Data Flow? 125

Props 126

Components Receive Props 126

Props Can Be Any Data Type 126

Props Are Read-Only 127

Validating Incoming Props with Prop Types 129

What Is Prop Types? 130

Getting Started with Prop Types 131

What Can Prop Types Validate? 133

Default Props 141

React State 145

What Is state? 146

Initializing state 146

Initializing state in Class Components 146

Initializing State in Function Components 147

The Difference between state and props 149

Updating state 149

Updating a Class Component’s state with set State 150

Updating state with Function Components 154

What to Put in State 161

Building the Reminders App 161

What Not to Put in State 168

Where to Put State 168

Lifting State Up 170

About the key Prop 177

Filtering the Reminders 183

Implementing the is Complete Changing Functionality 188

Converting to Class Components 190

Summary 198

Chapter 7: Events 199

How Events Work in React 199

What Is Synthetic Event? 201

Using Event Listener Attributes 202

The Event Object 203

Supported Events 204

Event Handler Functions 211

Writing Inline Event Handlers 211

Writing Event Handlers in Function Components 212

Writing Event Handlers in Class Components 213

Binding Event Handler Functions 214

Using bind 215

Using Arrow Functions 216

Passing Data to Event Handlers 218

Summary 219

Chapter 8: Forms 221

Forms Have State 221

Controlled Inputs vs. Uncontrolled Inputs 222

Updating a Controlled Input 223

Controlling an Input in a Function Component 224

Controlling an Input in a Class Component 224

Lifting Up Input State 226

Using Uncontrolled Inputs 228

Using Different Form Elements 229

Controlling the Input Element 230

Controlling a textarea 230

Controlling a Select Element 231

Preventing Default Actions 231

Summary 232

Chapter 9: Refs 233

What Refs Are 233

How to Create a Ref in a Class Component 234

How to Create a Ref in a Function Component 234

Using Refs 234

Creating a Callback Ref 236

When to Use Refs 238

When Not to Use Refs 238

Examples 239

Managing Focus 239

Automatically Selecting Text 239

Controlling Media Playback 241

Setting Scroll Position 241

Summary 242

Chapter 10: Styling React 243

The Importance of Styles 243

Importing CSS into the HTML File 244

Using Plain Old CSS in Components 245

Writing Inline Styles 247

Java Script Style Syntax 248

Why to Use Inline Styles 249

Why Not to Use Inline Styles 249

Improving Inline Styles with Style Modules 249

CSS Modules 250

Naming CSS Module Files 251

Advanced CSS Modules Functionality 252

Global Classes 252

Class Composition 252

CSS-in- JS and Styled Components 253

Summary 255

Chapter 11: Introducing Hooks 257

What Are Hooks? 257

Why Were Hooks Introduced? 257

Rules of Hooks 259

The Built-in Hooks 259

Managing State with use State 260

Setting the Initial State 262

Using the Setter Function 262

Passing a Value to a Setter 263

Passing a Function to a Setter 263

Setter Function Value Comparison 264

Hooking into the Lifecycle with use Effect 264

Using the Default use Effect Behavior 265

Cleaning Up After Effects 265

Customizing use Effect 266

Running Asynchronous Code with use Effect 270

Subscribing to Global Data with use Context 272

Combining Logic and State with use Reducer 273

Memoized Callbacks with use Callback 275

Caching Computed Values with use Memo 278

Solving Unnecessary Renders 278

Solving Performance Problems 279

Accessing Children Imperatively with use Ref 279

Customizing Exposed Values with use Imperative Handle 280

Updating the DOM Synchronously with use Layout Effect 281

Writing Custom Hooks 281

Labeling Custom Hooks with use Debug Value 283

Finding and Using Custom Hooks 285

use-http 285

react-fetch-hook 286

axios-hooks 286

react-hook- form 286

@rehooks/local-storage 287

use-local- storage- state 287

Other Fun Hooks 288

Lists of Hooks 288

Summary 288

Chapter 12: Routing 289

What Is Routing? 289

How Routing Works in React 291

Using React Router 293

Installing and Importing react-router- dom 293

The Router Component 294

Selecting a Router 294

Using the Router Component 295

Linking to Routes 296

Internal Linking with Link 296

Internal Navigation with Nav Link 298

Automatic Linking with Redirect 302

Creating Routes 302

Restricting Path Matching 304

Using URL Parameters 304

The component Prop 305

Render Props 306

Switching Routes 307

Rendering a Default Route 308

Routing with Redirect 308

Behind the Scenes: location, history, and match 309

The history Object 310

The location Object 313

The match Object 313

React Router Hooks 317

use History 317

use Location 317

use Params 317

use Route Match 317

Summary 318

Chapter 13: Error Boundaries 319

The Best Laid Plans 319

What Is an Error Boundary? 320

Implementing an Error Boundary 323

Building Your Own Error Boundary Component 323

get Derived State From Errors Is a Static Method 324

get Derived State From Errors Runs During the Render Phase 325

get Derived State From Errors Receives the Error as a Parameter 325

get Derived State From Errors Should Return an Object for Updating State 325

Testing Your Boundary 326

Logging Errors with Component Did Catch() 327

Using a Logging Service 328

Resetting the State 333

Installing a Pre-Built Error Boundary Component 334

What Can’t an Error Boundary Catch? 336

Catching Errors in Error Boundaries with try/catch 336

Catching Errors in Event Handlers with react-error- boundary 337

Summary 338

Chapter 14: Deploying React 339

What Is Deployment? 339

Building an App 339

Running the build Script 340

Examining the build Directory 340

The Built index.html 341

The static Directory 342

asset-manifest. json 342

What’s in a Name? 343

How Is a Deployed App Different? 343

Development Mode vs. Production 343

Putting It on the Web 344

Web Server Hosting 344

Node Hosting 345

Deploying with Netlify 345

Enabling Routing with Netlify 347

Enabling Custom Domains and HTTPS 348

Summary 349

Chapter 15: Initialize a React Project from Scratch 351

Building Your Own Toolchain 351

Initializing Your Project 352

The HTML Document 352

The Main Java Script File 353

The Root Component 353

Running in the Browser 354

How Webpack Works 357

Loaders 358

Plugins 358

Automating Your Build Process 358

Making an HTML Template 359

Development Server and Hot Reloading 360

Testing Tools 360

Installing and Configuring ESLint 360

ESLint Configuration 361

How to Fix Errors 362

Testing with Jest 363

Creating NPM Scripts 364

Structuring Your Source Directory 365

Grouping by File Type 366

Grouping by Features 367

Summary 367

Chapter 16: Fetching and Caching Data 369

Asynchronous Code: It’s All About Timing 369

Java Script Never Sleeps 370

Where to Run Async Code in React 374

Ways to Fetch 376

Getting Data with Fetch 377

Getting Data with Axios 377

Using Web Storage 379

Two Types of Web Storage 379

When to Use Web Storage 380

When Not to Use Web Storage 380

Web Storage Is Synchronous 380

Working with local Storage 381

Storing Data with local Storage 381

Reading Data from local Storage 382

Removing Data from local Storage 384

Summary 385

Chapter 17: Context Api 387

What Is Prop Drilling? 387

How Context API Solves the Problem 388

Creating a Context 388

Creating a Provider 389

Consuming a Context 390

Using Context in a Class Component 390

Using Context in a Function Component 391

Common Use Cases for Context 391

When Not to Use Context 392

Composition as an Alternative to Context 392

Example App: User Preferences 396

Summary 398

Chapter 18: React Portals 399

What Is a Portal? 399

How to Make a Portal 399

Why Not Just Render Multiple Component Trees? 403

Common Use Cases 403

Rendering and Interacting with a Modal Dialog 404

Managing Keyboard Focus with Modals 409

Summary 411

Chapter 19: Accessibility in React 413

Why Is Accessibility Important? 413

Accessibility Basics 414

Web Content Accessibility Guidelines (WCAG) 414

Web Accessibility Initiative –Accessible Rich Internet Applications (WAI-ARIA) 415

Implementing Accessibility in React Components 415

ARIA Attributes in React 416

Semantic HTML 416

Form Accessibility 417

Focus Control in React 418

Skip Links 418

Managing Focus Programmatically 419

Media Queries in React 420

Media Queries in Included CSS 421

Using use Media Query 422

Summary 422

Chapter 20: Going Further 425

Testing 425

Mocha 426

Enzyme 426

Chai 427

Assert 427

Expect 428

Should 428

Karma 428

Nightwatch.js 428

Server-Side

Rendering 429

Flux 430

Redux 430

Graph QL 432

Apollo 433

React Native 434

Next.js 434

Gatsby 434

People to Follow 435

Useful Links and Resources 435

Summary 436

Index 437

Über den Autor

About the Author
CHRIS MINNICK is an accomplished author, trainer, and web developer with experience working on web and mobile projects with both small and large companies.
The companion website at www.reactjsfoundations.com provides code listings for each chapter, plus examples and downloads that can be used to test out the various React JS techniques in the book.

Dieses Ebook kaufen – und ein weitere GRATIS erhalten!
Sprache Englisch ● Format PDF ● ISBN 9781119685616 ● Dateigröße 19.4 MB ● Verlag John Wiley & Sons ● Land US ● Erscheinungsjahr 2022 ● Ausgabe 1 ● herunterladbar 24 Monate ● Währung EUR ● ID 8302670 ● Kopierschutz Adobe DRM
erfordert DRM-fähige Lesetechnologie

Ebooks vom selben Autor / Herausgeber

2.858 Ebooks in dieser Kategorie