React Cookbook: Recipes for Mastering the React Framework
React

React Cookbook: Recipes for Mastering the React Framework

David Griffiths, 2021

Inhaltsverzeichnis des Buches

  • Preface
  • Conventions Used in This Book
  • Using Code Examples
  • O’Reilly Online Learning
  • How to Contact Us
  • Acknowledgments
  • 1. Creating Applications
  • 1.1. Generate a Simple Application
  • 1.2. Build Content-Rich Apps with Gatsby
  • 1.3. Build Universal Apps with Razzle
  • 1.4. Manage Server and Client Code with Next.js
  • 1.5. Create a Tiny App with Preact
  • 1.6. Build Libraries with nwb
  • 1.7. Add React to Rails with Webpacker
  • 1.8. Create Custom Elements with Preact
  • 1.9. Use Storybook for Component Development
  • 1.10. Test Your Code in a Browser with Cypress
  • 2. Routing
  • 2.1. Create Interfaces with Responsive Routes
  • 2.2. Move State into Routes
  • 2.3. Use MemoryRouter for Unit Testing
  • 2.4. Use Prompt for Page Exit Confirmations
  • 2.5. Create Transitions with React Transition Group
  • 2.6. Create Secured Routes
  • 3. Managing State
  • 3.1. Use Reducers to Manage Complex State
  • 3.2. Create an Undo Feature
  • 3.3. Create and Validate Forms
  • 3.4. Measure Time with a Clock
  • 3.5. Monitor Online Status
  • 3.6. Manage Global State with Redux
  • 3.7. Survive Page Reloads with Redux Persist
  • 3.8. Calculate Derived State with Reselect
  • 4. Interaction Design
  • 4.1. Build a Centralized Error Handler
  • 4.2. Create an Interactive Help Guide
  • 4.3. Use Reducers for Complex Interactions
  • 4.4. Add Keyboard Interaction
  • 4.5. Use Markdown for Rich Content
  • 4.6. Animate with CSS Classes
  • 4.7. Animate with React Animation
  • 4.8. Animate Infographics with TweenOne
  • 5. Connecting to Services
  • 5.1. Convert Network Calls to Hooks
  • 5.2. Refresh Automatically with State Counters
  • 5.3. Cancel Network Requests with Tokens
  • 5.4. Make Network Calls with Redux Middleware
  • 5.5. Connect to GraphQL
  • 5.6. Reduce Network Load with Debounced Requests
  • 6. Component Libraries
  • 6.1. Use Material Design with Material-UI
  • 6.2. Create a Simple UI with React Bootstrap
  • 6.3. View Data Sets with React Window
  • 6.4. Create Responsive Dialogs with Material-UI
  • 6.5. Build an Admin Console with React Admin
  • 6.6. No Designer? Use Semantic UI
  • 7. Security
  • 7.1. Secure Requests, Not Routes
  • 7.2. Authenticate with Physical Tokens
  • 7.3. Enable HTTPS
  • 7.4. Authenticate with Fingerprints
  • 7.5. Use Confirmation Logins
  • 7.6. Use Single-Factor Authentication
  • 7.7. Test on an Android Device
  • 7.8. Check Security with ESlint
  • 7.9. Make Login Forms Browser Friendly
  • 8. Testing
  • 8.1. Use the React Testing Library
  • 8.2. Use Storybook for Render Tests
  • 8.3. Test Without a Server Using Cypress
  • 8.4. Use Cypress for Offline Testing
  • 8.5. Test in a Browser with Selenium
  • 8.6. Test Cross-Browser Visuals with ImageMagick
  • 8.7. Add a Console to Mobile Browsers
  • 8.8. Remove Randomness from Tests
  • 8.9. Time Travel
  • 9. Accessibility
  • 9.1. Use Landmarks
  • 9.2. Apply Roles, Alts, and Titles
  • 9.3. Check Accessibility with ESlint
  • 9.4. Use Axe DevTools at Runtime
  • 9.5. Automate Browser Testing with Cypress Axe
  • 9.6. Add Skip Buttons
  • 9.7. Add Skip Regions
  • 9.8. Capture Scope in Modals
  • 9.9. Create a Page Reader with the Speech API
  • 10. Performance
  • 10.1. Use Browser Performance Tools
  • 10.2. Track Rendering with Profiler
  • 10.3. Create Profiler Unit Tests
  • 10.4. Measure Time Precisely
  • 10.5. Shrink Your App with Code Splitting
  • 10.6. Combine Network Promises
  • 10.7. Use Server-Side Rendering
  • 10.8. Use Web Vitals
  • 11. Progressive Web Applications
  • 11.1. Create Service Workers with Workbox
  • 11.2. Build a PWA with Create React App
  • 11.3. Cache Third-Party Resources
  • 11.4. Automatically Reload Workers
  • 11.5. Add Notifications
  • 11.6. Make Offline Changes with Background Sync
  • 11.7. Add a Custom Installation UI
  • 11.8. Provide Offline Responses
  • Index
  • About the Authors