Playing: 127: Hasty Treat - React Suspense
How We Manage Our Lives — Notion, Todos, Notes, Focusing, Calendars, Goal tracking, and more!
Potluck - Changing careers × Repo organization × CSS Grid × Certifications × Freelancing × Spammers × More
Potluck - Where to start with JS × Freelancing × Cron jobs × Split testing × Frameworks in 2019 × More
Potluck - $100/hr × Redux Replacements × Full Stack Designers × JWT × VS Code Tips × More
Potluck - Editor Fonts × Portfolios × Meetup Tips × Switching to Windows × Freelancing Sources
Potluck EP × Remote Work × Headless WordPress × Good Client Questions × Alternate Careers × React API Credentials
Potluck EP × Is Redux Dead × Learning Quickly × Developing Solo × Specialist vs Generalist × Funnest Projects × Wes’ BBQ Course
Potluck EP × Vue.js × Headless WP × Typescript & Flow × Productivity × Server Side Rendering × Yeoman
Wes and Scott's Lives - Breakdancing, BBQ, Wives, Work/Life Balance, Problem Solving, YouTube Subscriptions
Snack Pack — CSS Frameworks, React HOC, Render Props, Coding Designers, Early Career Advice and a sound board!
Hosting & Servers — Heroku, Now, Galaxy, Digital Ocean, Linode, Docker, Netlify and more!
Mar 18th, 2019
Hasty Treat - React Suspense👇 Download Show✏️ Edit Show Notes
In this Hasty Treat, Scott and Wes talk about React Suspense — what it is, how it works, support and more!
Sentry - Sponsor
If you want to know what's happening with your errors, track them with Sentry. Sentry is open-source error tracking that helps developers monitor and fix crashes in real time. Cut your time on error resolution from five hours to five minutes. It works with any language and integrates with dozens of other services. Syntax listeners can get two months for free by visiting Sentry.io and using the coupon code "tastytreat".
Not live yet - it may/will change. Be warned!
3:59 - The problem we have with React right now
- API calls
- Image loading
- Code splitting
7:16 - What is React Suspense?
- First we convert our async data fetching functions into resources
- Resources can then be read inside render - above the return
- Resources can be read from cache
- Resources can be preloaded into a cache if you anticipate needing them
- Resources reads are blocking for that function - you can't return JSX until the resource is read
- In your component that fetches data, there is no need to maintain a loading state
- Then, anywhere higher up in that tree, you can introduce a suspense component
- The suspense component can detect if any of it's children are currently loading data
- If they are, we can then choose to show a loader via the fallback prop
- We can also choose to show nothing via the maxDelay prop — this is helpful for fast connections that shouldn't see the spinner for a short split-second
15:20 - Support
- React.lazy and suspense for code splitting is already here
- The React.lazy function lets you render a dynamic import as a regular component
- Loadable Components is recommended if you need splitting with SSR
- Data Resources is not here yet