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