NPH
Huy Nguyenhuynp.dev
Cover
Frontend

Mastering React Performance with Hooks

Author
Huy Nguyen
January 16, 20267 min

React is powerful, but without careful management, your applications can become sluggish due to constant re-renders. In this article, we'll explore advanced performance optimization techniques.

1. Understanding Re-renders

React re-renders a component when:

  • Its state changes.
  • Props from its parent change.
  • Its parent component re-renders.

2. Memoizing Expensive Calculations with useMemo

If you have a function that processes large datasets, running it on every render is wasteful.

javascript
const filteredData = useMemo(() => {
  return largeDataset.filter(item => item.isActive);
}, [largeDataset]);

3. Avoiding Function Recreation with useCallback

Every time a component re-renders, functions defined inside it are recreated. If these functions are passed to child components wrapped in React.memo, it will trigger a re-render of the child.

javascript
const handleTabSelection = useCallback((id) => {
  setActiveTab(id);
}, []);

4. React.memo: When to Use It?

React.memo helps memoize the render result of a functional component. It only re-renders if props change.

javascript
const UserProfile = React.memo(({ user }) => {
  return (
    <div>{user.name}</div>
  );
});

Conclusion

Optimization shouldn't be applied everywhere blindly. Use tools like the React DevTools Profiler to identify bottlenecks before you start optimizing.

Related articles

Enjoyed this article?

Subscribe to the newsletter to get notified about new posts.