Daniel Espino Garcia
Dos and don'ts with react hooks. An opinionated approach
#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.
Douglas GmbH
Düsseldorf, Germany
Intermediate
Senior
TypeScript
React
Hubert Burda Media
München, Germany
€80-95K
Intermediate
Senior
JavaScript
Node.js
+1
Matching moments
02:33 MIN
Why you might not need JavaScript for everything
WeAreDevelopers LIVE – You Don’t Need JavaScript, Modern CSS and More
04:56 MIN
Recreating React components using AI and dev tools
WeAreDevelopers LIVE – AI, Freelancing, Keeping Up with Tech and More
09:00 MIN
Navigating the growing complexity of modern CSS
WeAreDevelopers LIVE – You Don’t Need JavaScript, Modern CSS and More
11:32 MIN
The industry's focus on frameworks over web fundamentals
WeAreDevelopers LIVE – Frontend Inspirations, Web Standards and more
03:31 MIN
The value of progressive enhancement and semantic HTML
WeAreDevelopers LIVE – You Don’t Need JavaScript, Modern CSS and More
03:16 MIN
Improving the developer feedback loop with specialized tools
Developer Time Is Valuable - Use the Right Tools - Kilian Valkhof
08:07 MIN
Exploring modern JavaScript performance and new CSS features
WeAreDevelopers LIVE – AI, Freelancing, Keeping Up with Tech and More
11:10 MIN
The only frontend stack that truly matters
WeAreDevelopers LIVE – Frontend Inspirations, Web Standards and more
Featured Partners
Related Videos
State management in a world of hooks
Adam Klein
Rethinking React State Management: The Power of Built-In Solutions
Marc Brehmer
Keith Cirkle of GitHub on React Fatigue
Keith Cirkle
MVI: Minimum Viable Interface for React Components
Daniel Espino Garcia
Bringing back reactivity in "reactive" frontend
Michał Moroz
Building Interactive Async UI with React 19 and Ariakit
Aurora Scharff
What the heck do "declarative" and "reactive" actually mean?
André Kovac
Common Mistakes in Vue.js and How to Avoid Them
Daniel Kelly
Related Articles
View all articles



From learning to earning
Jobs that call for the skills explored in this talk.

Visonum GmbH
Remote
Junior
Intermediate
React
Redux
TypeScript

Adaptive Financial Consulting
Barcelona, Spain
CSS
HTML
RxJS
React
JavaScript
+1

VanHack
Barcelona, Spain
Senior
API
iOS
Java
Kotlin
JavaScript
+3





VanHack
Barcelona, Spain
Remote
Senior
API
GIT
React
Docker
+8
