Dos and don'ts with react hooks. An opinionated approach
Your React hooks should be readable first, optimized later. Learn an opinionated approach to writing clean, maintainable code that prevents subtle bugs.
#1about 4 minutes
Understanding the internal mechanics of React hooks
Hooks enable state in functional components and are implemented as a linked list, which explains why they must be called in the same order on every render.
#2about 2 minutes
Prioritize code readability over premature performance optimization
Focus on writing clear, future-proof code instead of worrying about minor performance overhead from hooks, as these are rarely the actual application bottleneck.
#3about 2 minutes
Move constants and pure functions outside components
Improve readability and performance by defining constants and pure helper functions outside the component scope, avoiding unnecessary re-creation on each render.
#4about 2 minutes
Declare explicit dependencies instead of inferring them
Always declare direct dependencies in hooks like useEffect and useCallback to prevent subtle bugs when the code is modified later.
#5about 2 minutes
Improve clarity with intermediate variables for derived state
Create meaningful intermediate variables from props or state to represent business logic, making the code more readable and hook dependencies more precise.
#6about 2 minutes
Use useRef for data that shouldn't trigger re-renders
Store values that persist across renders but don't affect the UI, like pagination counters, in a useRef to avoid unnecessary component re-renders.
#7about 1 minute
Stabilize callbacks with the functional setState form
Use the functional update form of setState to compute new state from the previous state, which removes the state variable from dependency arrays and prevents unnecessary re-creations of callbacks.
#8about 1 minute
Calculate derived state directly instead of in useEffect
If a piece of state is calculated from props within a useEffect, it is derived state and should be computed directly during the render to avoid an extra re-render cycle.
#9about 2 minutes
Extract reusable logic into custom hooks
Encapsulate and share repeated component logic, such as handling an Android back button, by creating custom hooks for better maintainability and readability.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
01:39 MIN
Writing functional JavaScript with React components
A Guide To Functional Programming
03:44 MIN
How hooks enable superior code reusability
State management in a world of hooks
01:23 MIN
Conclusion: Benefits of using React's built-in tools
Rethinking React State Management: The Power of Built-In Solutions
02:38 MIN
The challenge of managing local versus global state
State management in a world of hooks
03:03 MIN
Lessons on testing, hooks, and framework lock-in
Building a large, complex product from the ground up with typescript & Atomic Design:lessons learned
01:54 MIN
Managing async state with React 19 hooks
Building Interactive Async UI with React 19 and Ariakit
05:41 MIN
Understanding React fundamentals for the examples
How to become an AI toolsmith
04:19 MIN
Answering questions on reactivity and browser support
Top 5 React Form Libraries for DevelopersReact is still one of the most popular web frameworks in the world, and even if promising JavaScript building blocks like Svelte enter the contest occasionally, React gets credit among frontend developers for how easy it is to develop user interfaces...
Chris Heilmann
Dev Digest 136 - No JS(on) of mineNews and ArticlesDouglas Crockford is our featured video, so let's talk about evolving JavaScript and all things JSON. Judicious JSON explains all the weird things in it, you can learn why it can be incredibly slow, people wonder what even is a JSON ...
Daniel Cranney
Next.js App Router: ExplainedIntroductionVercel’s Next.js has come a long way since its initial release in 2016. What would become the most popular React framework (according to their own website, at least), started as a simple solution for handling routing, SEO optimisation and...
Chris Heilmann
Micro Components - a different approach to a simpler component-based webThere has been a lot of heated discussion lately in the web community about component based development. One side argued that Web Components are a standard we should follow whereas others complained that they still lag behind in what frameworks offer...
From learning to earning
Jobs that call for the skills explored in this talk.