232

March 18th, 2020 ×

React Hooks - 1 Year Later

or

In this episode of Syntax, Scott and Wes talk about React Hooks, one year later — what's changed, how to use them, and more!

Sanity - Sponsor

Sanity.io is a real-time headless CMS with a fully customizable Content Studio built in React. Get a Sanity powered site up and running in minutes at sanity.io/create. Get an awesome supercharged free developer plan on sanity.io/syntax.

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".

Show Notes

1:26 - Hooks vs Render Props

  • Hooks win hands down

3:40 - useState

9:18 - useReducer

12:12 - useRef

15:30 - useContext

21:55 - useEffect

29:35 - Custom hooks to hide and encapsulate functionality

35:06 - How we use them

  • Scott

    • Index that imports all custom hooks
    • Babel alias to hooks folder
    • Import { useHook } from 'hooks'
    • useContextState
  • Wes

    • useResizeObserver
    • useForm
    • useGridRower
    • useWickedFavIcon

45:54 - Which built-in hooks do we not use?

  • useImperativeHandle
  • useCallback
  • useDebugValue

48:22 - Are hooks harder to learn?

  • Wes: Yes — but easier to maintain after the fact
  • Scott: Yes — harder conceptually and initially but easier after concepts are understood

50:29 - Are classes going away?

  • Wes: I say yes
  • Scott: Double yes

××× SIIIIICK ××× PIIIICKS ×××

Shameless Plugs

  • Scott: All Courses - Sign up for the year and save 25%!
  • Wes: All Courses - Use the coupon code 'Syntax' for $10 off!

Tweet us your tasty treats!

Share

Play / pause the audio
Minimize / expand the player
Mute / unmute the audio
Seek backward 30 seconds
Seek forward 30 seconds
Increase playback rate
Decrease playback rate
Show / hide this window