Atjaunināt sīkdatņu piekrišanu

React: Up & Running: Building Web Applications 2nd edition [Mīkstie vāki]

3.70/5 (142 ratings by Goodreads)
  • Formāts: Paperback / softback, 222 pages, height x width: 233x178 mm
  • Izdošanas datums: 23-Nov-2021
  • Izdevniecība: O'Reilly Media
  • ISBN-10: 1492051462
  • ISBN-13: 9781492051466
Citas grāmatas par šo tēmu:
  • Mīkstie vāki
  • Cena: 52,03 €*
  • * ši ir gala cena, t.i., netiek piemērotas nekādas papildus atlaides
  • Standarta cena: 61,21 €
  • Ietaupiet 15%
  • Grāmatu piegādes laiks ir 3-4 nedēļas, ja grāmata ir uz vietas izdevniecības noliktavā. Ja izdevējam nepieciešams publicēt jaunu tirāžu, grāmatas piegāde var aizkavēties.
  • Daudzums:
  • Ielikt grozā
  • Piegādes laiks - 4-6 nedēļas
  • Pievienot vēlmju sarakstam
  • Formāts: Paperback / softback, 222 pages, height x width: 233x178 mm
  • Izdošanas datums: 23-Nov-2021
  • Izdevniecība: O'Reilly Media
  • ISBN-10: 1492051462
  • ISBN-13: 9781492051466
Citas grāmatas par šo tēmu:
Hit the ground running with React, the open source technology from Facebook for building rich web applications fast. Updated for the latest React release, the second edition of this hands-on guide shows you how to build React components and organize them into maintainable large-scale apps. If you're familiar with JavaScript syntax, you're ready to get started.

Through the course of this book, author Stoyan Stefanov helps web developers and programmers build a complete single-page application. You'll quickly learn why some developers consider React the key to the web app development puzzle.

Set up React and write your first "Hello, World" web app Create and use custom React components alongside generic DOM components Build a data table component that lets you edit, sort, search, and export its contents Master the JSX syntax Use built-in Hooks and create your own custom ones Manage the app's data flow with reducers and contexts Use Create React App to take care of the build process and focus on React itself Build a complete custom app that lets you store data on the client
Preface xi
1 Hello World 1(10)
Setup
1(1)
Hello React World
2(1)
What Just Happened?
3(2)
React.createElement()
5(1)
JSX
6(3)
Setup Babel
7(1)
Hello JSX World
8(1)
On Transpilation
8(1)
Next: Custom Components
9(2)
2 The Life of a Component 11(24)
A Custom Function Component
11(2)
A JSX Version
12(1)
A Custom Class Component
13(1)
Which Syntax to Use?
13(1)
Properties
14(3)
Properties in Function Components
15(1)
Default Properties
16(1)
State
17(1)
A textarea Component
18(1)
Make It Stateful
19(2)
A Note on DOM Events
21(3)
Event Handling in the Olden Days
21(2)
Event Handling in React
23(1)
Event-Handling Syntax
23(1)
Props Versus State
24(1)
Props in Initial State: an Antipattern
25(1)
Accessing the Component from the Outside
25(1)
Lifecycle Methods
26(1)
Lifecycle Example: Log It All
27(3)
Paranoid State Protection
29(1)
Lifecycle Example: Using a Child Component
30(3)
Performance Win: Prevent Component Updates
33(1)
Whatever Happened to Function Components?
34(1)
3 Excel: A Fancy Table Component 35(34)
Data First
35(1)
Table Headers Loop
36(1)
Table Headers Loop, a Terse Version
37(2)
Debugging the Console Warning
39(1)
Adding td Content
40(4)
Prop Types
42(2)
Can You Improve the Component?
44(1)
Sorting
44(2)
Can You Improve the Component?
46(1)
Sorting UI Cues
46(2)
Editing Data
48(5)
Editable Cell
49(2)
Input Field Cell
51(1)
Saving
51(1)
Conclusion and Virtual DOM Diffs
52(1)
Search
53(7)
State and UI
54(3)
Filtering Content
57(2)
Update the save() Method
59(1)
Can You Improve the Search?
59(1)
Instant Replay
60(4)
Cleaning Up Event Handlers
62(1)
Cleaning Solution
63(1)
Can You Improve the Replay?
64(1)
An Alternative Implementation?
64(1)
Download the Table Data
64(2)
Fetching Data
66(3)
4 Functional Excel 69(26)
A Quick Refresher: Function versus Class Components
69(1)
Rendering the Data
70(1)
The State Hook
71(2)
Sorting the Table
73(2)
Editing Data
75(1)
Searching
76(1)
Lifecycles in a World of Hooks
77(6)
Troubles with Lifecycle Methods
77(1)
useEffect()
78(1)
Cleaning Up Side Effects
79(1)
Trouble-Free Lifecycles
80(1)
useLayoutEffect()
81(2)
A Custom Hook
83(2)
Wrapping up the Replay
85(1)
useReducer
86(5)
Reducer Functions
87(1)
Actions
87(1)
An Example Reducer
88(2)
Unit Testing Reducers
90(1)
Excel Component with a Reducer
91(4)
5 JSX 95(24)
A Couple Tools
95(2)
Whitespace in JSX
97(2)
Comments in JSX
99(1)
HTML Entities
100(1)
Anti-XSS
101(1)
Spread Attributes
101(3)
Parent-to-Child Spread Attributes
102(2)
Returning Multiple Nodes in JSX
104(2)
A Wrapper
104(1)
A Fragment
105(1)
An Array
105(1)
Differences Between JSX and HTML
106(2)
No class, What for?
106(1)
style Is an Object
107(1)
Closing Tags
107(1)
camelCase Attributes
108(1)
Namespaced Components
108(1)
JSX and Forms
109(10)
onChange Handler
109(2)
value Versus defaultValue
111(1)
textarea Value
111(1)
select Value
112(1)
Controlled and Uncontrolled Components
113(6)
6 Setting Up for App Development 119(8)
Create React App
119(4)
Node.js
120(1)
Hello CRA
120(2)
Build and Deploy
122(1)
Mistakes Were Made
123(1)
package.json and node_modules
123(1)
Poking Around the Code
124(2)
Indices
124(1)
JavaScript: Modernized
124(1)
CSS
125(1)
Moving On
126(1)
7 Building the App's Components 127(46)
Setup
127(1)
Start Coding
127(2)
Refactoring the Excel Component
129(1)
Version 0.0.1 of the New App
130(1)
CSS
131(1)
Local Storage
132(1)
The Components
133(3)
Discovery
134(2)
Logo and a Body
136(4)
Logo
136(1)
Body
136(1)
Discoverable
136(1)
Button Component
137(1)
Button.js
138(1)
classnames Package
139(1)
Forms
140(11)
Suggest
140(2)
Rating Component
142(2)
A Formlnput "Factory"
144(3)
Form
147(4)
Actions
151(1)
Dialogs
152(5)
Header
157(1)
App Config
157(2)
Excel: New and Improved
159(14)
The Overall Structure
161(1)
Rendering
162(4)
React.Strict and Reducers
166(2)
Excel's Little Helpers
168(5)
8 The Finished App 173(32)
Updated App.js
176(1)
DataFlow Component
176(4)
DataFlow Body
178(2)
Job Done
180(2)
Whinepad v2
182(1)
Context
182(1)
Next Steps
183(1)
Circular Data
184(1)
Providing Context
184(3)
Consuming Context
187(6)
Context in the Header
187(4)
Context in the Data Table
191(2)
Updating Discovery
193(2)
Routing
195(9)
Route Context
195(2)
Using the Filter URL
197(2)
Consuming the Route Context in the Header
199(2)
Consuming the Route Context in the Data Table
201(1)
useCallback()
202(2)
The End
204(1)
Index 205
Stoyan Stefanov is a Facebook engineer. Previously at Yahoo, he was the creator of the smush.it online image-optimization tool and architect of the YSlow 2.0 performance tool. Stoyan is the author of JavaScript Patterns and Object-Oriented JavaScript, as well as a contributor to Even Faster Web Sites and High-Performance JavaScript. Additionally, he's a blogger (phpied.com) and frequent speaker at conferences like Velocity, JSConf, and Fronteers.