React
Fluent React
Tejas Kumar, 2024
Inhaltsverzeichnis des Buches
- Foreword
- Preface
- Conventions Used in This Book
- O’Reilly Online Learning
- How to Contact Us
- Acknowledgments
- 1. The Entry-Level Stuff
- Why Is React a Thing?
- The World Before React
- jQuery
- Backbone
- KnockoutJS
- AngularJS
- Enter React
- React’s Value Proposition
- Releasing React
- The Flux Architecture
- Benefits of the Flux Architecture
- Wrap-Up: So…Why Is React a Thing?
- Chapter Review
- Review Questions
- Up Next
- . JSX
- JavaScript XML?
- Benefits of JSX
- Drawbacks of JSX
- Under the Hood
- How Does Code Work?
- Extending JavaScript Syntax with JSX
- The JSX Pragma
- Expressions
- Chapter Review
- Review Questions
- Up Next
- 3. The Virtual DOM
- An Intro to the Virtual DOM
- The Real DOM
- Pitfalls of the Real DOM
- Document Fragments
- How the Virtual DOM Works
- React Elements
- Virtual DOM Versus Real DOM
- Efficient Updates
- Chapter Review
- Review Questions
- Up Next
- 4. Inside Reconciliation
- Understanding Reconciliation
- Batching
- Prior Art
- Stack Reconciler (Legacy)
- The Fiber Reconciler
- Fiber as a Data Structure
- Double Buffering
- Fiber Reconciliation
- Chapter Review
- Review Questions
- Up Next
- 5. Common Questions and Powerful Patterns
- Memoization with React.memo
- Getting Fluent in React.memo
- Memoized Components That Still Rerender
- It’s a Guideline, Not a Rule
- Memoization with useMemo
- useMemo Considered Harmful
- Forget About All of This
- Lazy Loading
- Greater UI Control with Suspense
- useState Versus useReducer
- Immer and Ergonomics
- Powerful Patterns
- Presentational/Container Components
- Higher-Order Component
- Render Props
- Control Props
- Prop Collections
- Compound Components
- State Reducer
- Chapter Review
- Review Questions
- Up Next
- 6. Server-Side React
- Limitations of Client-Side Rendering
- SEO
- Performance
- Security
- The Rise of Server Rendering
- Benefits of Server Rendering
- Hydration
- Hydration Considered Harmful
- Creating Server Rendering
- Manually Adding Server Rendering to a Client-Only React App
- Hydrating
- Server Rendering APIs in React
- renderToString
- renderToPipeableStream
- renderToReadableStream
- When to Use What
- Don’t Roll Your Own
- Chapter Review
- Review Questions
- Up Next
- 7. Concurrent React
- The Problem with Synchronous Rendering
- Revisiting Fiber
- Scheduling and Deferring Updates
- Diving Deeper
- The Scheduler
- Render Lanes
- How Render Lanes Work
- Processing Lanes
- Commit Phase
- useTransition
- Simple Example
- Advanced Example: Navigation
- Diving Deeper
- useDeferredValue
- Purpose of useDeferredValue
- When to Use useDeferredValue
- When Not to Use useDeferredValue
- Problems with Concurrent Rendering
- Tearing
- Chapter Review
- Review Questions
- Up Next
- 8. Frameworks
- Why We Need a Framework
- Server Rendering
- Routing
- Data Fetching
- Benefits of Using a Framework
- Trade-Offs of Using a Framework
- Popular React Frameworks
- Remix
- Next.js
- Choosing a Framework
- Understanding Your Project Needs
- Next.js
- Remix
- Trade-Offs
- Developer Experience
- Runtime Performance
- Chapter Review
- Review Questions
- Up Next
- 9. React Server Components
- Benefits
- Server Rendering
- Under the Hood
- Making Updates
- Nuance
- Rules of Server Components
- Serializability Is King
- No Effectful Hooks
- State Is Not State
- Client Components Cannot Import Server Components
- Client Components Are Not Bad
- Server Actions
- Forms and Mutations
- Outside of Forms
- The Future of React Server Components
- Chapter Review
- Review Questions
- Up Next
- 10. React Alternatives
- Vue.js
- Signals
- Simplicity
- Angular
- Change Detection
- Signals
- Svelte
- Runes
- Solid
- Qwik
- Common Patterns
- Component-Based Architecture
- Declarative Syntax
- Updates
- Lifecycle Methods
- Ecosystem and Tooling
- React Is Not Reactive
- Example 2: Dependent Values
- The Future of React
- React Forget
- Chapter Review
- Review Questions
- Up Next
- 11. Conclusion
- Takeaways
- Our Timeline
- The Mechanics Behind the Magic
- Advanced Adventures
- Staying Up-to-Date
- Index
- About the Author