A Tasty Treats Podcast for Web Developers.

Ask a Potluck Question →
Wes Bos

Wes Bos

XL5G3 Full Stack JavaScript Developer. Creator of really good web development courses. BBQ enthusiast.

Scott Tolinski

Scott Tolinski

Web Developer, NX2V1, Creator of Level Up Tuts, Bboy, Robotops Crew and Youtuber

Playing: 262: Our React Wish List



Jul 1st, 2020

Our React Wish List

👇 Download Show✏️ Edit Show Notes

In this episode of Syntax, Scott and Wes talk about what they wish existed in React!

DevLifts - Sponsor

Refactor your body with DevLifts. They have a few different programs: 1) fit.start (normally $19/month) has a few options (lean, bodyweight, and strong). Workouts are delivered via email each month, with access to a Slack community for questions and accountability. 2) Premium (normally $199/month) is a custom-tailored option, where you get your workouts and nutrition advice after answering a questionnaire. They also check in with you each week via Slack to see how it's going and make changes if necessary. Get 50% off fit.Start plans with code SYNTAX and 50% off Premium with code TASTY.

Freshbooks - Sponsor

Get a 30 day free trial of Freshbooks at freshbooks.com/syntax and put SYNTAX in the "How did you hear about us?" section.

Show Notes


03:53 - Unmount delay for animation

06:20 - Suspense with SSR released (or not because I think they are shelving it)

09:24 - File based components

  • Like Svelte and Vue
  • This would look like a file with a special scoped <style> tag per page.

11:50 - Prevent Default shortcuts

13:00 - No more useIsoLayoutEffect

  • useLayoutEffect on SSR should just work without a custom hook
  • Simple data fetching strategy based on promises

15:52 - Recommended hooks

  • E.g. "here is the best way to do things"
  • Official list of best practice hooks

18:25 - A good form strategy

  • Bind inputs to state directly without any change handlers
  • Inputs and forms all around need more magic - it's painful

20:43 - Write once deploy everywhere

  • Not likely ever
  • E.g. automatic transformation into react-native (obviously not going to happen)

22:28 - Compile time directives

25:11 - Slots instead of children

  • Allows for things like named slots more explicit than children


26:44 - Removal of htmlFor, className and all other abominations of html

29:09 - Import Raact from React for JSX to work

32:31 - Better conditional / if statement syntax

33:09 - Fragments by default

  • Just do it for us - the error message already knows

33:54 - Automatic key ids

  • If mapping an object, check for common _id or id

36:36 - Simple scoped CSS built in

37:29 - Short hand for props with same name is prop={prop}

39:00 - Prop interpolation without backticks: name="$first $last"

  • Or just backticks without brackets name=${first} ${last} instead of name={${first} ${last}}


39:43 - Story for typescript/prettier/babel

40:11 - Automatic a href client side routing

41:51 - Scaffolding and component generation


Shameless Plugs

Tweet us your tasty treats!