Explore the ‘Not Callable’ error in React’s useState. Learn to fix it, manage state effectively, and optimize your React codebase.byHasanul Haque Banna

React useState Error: 'Not Callable' Conundrum and Best Practices

Encounter the ‘Not Callable’ error in React useState? Discover why it happens, how to resolve it, and best practices for state management in React. Unpack the mystery and optimize your React code for seamless development.

Introduction to useState in React

React’s useState is a built-in hook that allows you to add state to your functional components. It is crucial for managing component state in React applications. The useState hook returns a pair: the current state value and a function that lets you update it.

Understanding the “Not Callable” Error

The “Not Callable” error typically occurs when you try to call a state variable as a function. This is a common mistake when using the useState hook, especially for developers new to React. The error is often due to incorrect usage of the useState hook, such as calling the state variable instead of the state update function.

Blog Post Image by Hasanul Haque Banna

Fixing the Error

Fixing the “Not Callable” error involves ensuring the correct usage of useState. Here’s a step-by-step guide:

Blog Post Image by Hasanul Haque Banna

In this setup, we will face 'Not Callable' issue. So for fixing this issue let's go ahead.

  • Two Approaches:

First example:

Blog Post Image by Hasanul Haque Banna

In this case, the first value returned by useState (the current state) is being ignored, and only the second value (the function to update the state) is being used. This technique helps to avoid the ‘variable is not being used’ warning from your linter.

Remember, while this technique can be useful, it’s important to ensure that you’re managing your component’s state effectively and that you’re not ignoring values that you should be using. It’s always a good idea to understand what each part of your state represents and how it’s being used in your component.

Another example:

Blog Post Image by Hasanul Haque Banna

In this case, we are following the traditional setup. So Remember, never try to update the state variable directly.

Best Practices for State Management

Effective state management is key to building robust React applications. Here are some best practices:

  • Use meaningful variable names: This makes your code easier to read and understand.
  • Structure your state variables effectively: Group related data in an object or an array.
  • Handle state updates efficiently: Use the state update function returned by useState to update your state variables.

Optimizing React Code

Optimizing your React codebase can lead to better performance and a smoother user experience. Here are some tips:

  • Use the useMemo and useCallback hooks: These hooks can help you avoid unnecessary computations and re-renders.
  • Avoid unnecessary re-renders: Be mindful of when your components re-render and try to minimize unnecessary re-renders.
  • Leverage stateful components wisely: Stateful components can lead to more readable code and can make state management easier.


Understanding and fixing the “Not Callable” error in React’s useState is just one part of becoming a proficient React developer. By applying the best practices discussed in this article, you can improve your React development workflow and avoid common pitfalls. Happy coding!