JIYIK CN >

Current Location:Home > Learning > WEB FRONT-END > React >

Fix Uncaught ReferenceError: useState is not defined in React

Author:JIYIK Last Updated:2025/03/15 Views:

When we use the useState hook in our code but forget to import it, it generates the error “Uncaught ReferenceError: useState is not defined”. To fix this error, you need to import the hook before using it import {useState} from 'react'.

Error useState is not defined

// 👇️ Import Hook useState
import {useState} from 'react';

const App = () => {
  const [count, setCount] = useState(0);

  const handleClick = event => {
    setCount(current => current + 1);
  };
  return (
    <div>
      <h2>Count: {count}</h2>
      <button onClick={handleClick}>Increment</button>
    </div>
  );
};

export default App;

When we use the hook in our code useStatewithout importing it first, the "'useState' is not defined no-undef" error occurs.

The useState hook can be imported from the react package as a named import.

import {useState} from 'react';

This hook returns an array where the first element is the state variable and the second element is setStatea function that can be used to update the state.

The useState hook can be passed an initial state value as a parameter.

const [count, setCount] = useState(0);

The above example sets the initial value of the count state variable to 0.

We can use setCountthe function to update the state.

const [count, setCount] = useState(0);

setCount(100);

When calculating the next state using the previous state, we can pass a function to setState.

const [count, setCount] = useState(0);

setCount(current => current + 1);

We setStatepass a function to , because that function is guaranteed to be called with the current (latest) state.

Otherwise, we could run into some weird race conditions if the state variables we have access to don't represent the latest values.

Please note that there are some rules when using React Hooks.

  • Hooks are only called from React function components or custom hooks.
  • Only call hooks at the top level
  • Do not call hooks in loops, conditionals, or nested functions
  • Always use hooks at the top level of a React function, before any early returns

For reprinting, please send an email to 1244347461@qq.com for approval. After obtaining the author's consent, kindly include the source as a link.

Article URL:

Related Articles

How to avoid cross-origin (CORS) issues in React/Next.js

Publish Date:2025/03/17 Views:170 Category:NETWORK

In this article, we will introduce how to avoid cross-origin (CORS) issues in React/Next.js. Cross-origin resource sharing (CORS) is a protocol that defines how web requests should be handled when crossing different URLs.

React Tutorial - Transferring Props

Publish Date:2025/03/16 Views:188 Category:React

React transfers Props. Props are generated when components are encapsulated. Components expose some properties (Props) to the outside world to complete some functions.

React Tutorial: Props Anti-Pattern

Publish Date:2025/03/16 Views:187 Category:React

React's Props anti-pattern, using Props to generate state in getInitialState is an anti-pattern - Anti-Pattern.

React Tutorial - Props Validation

Publish Date:2025/03/16 Views:102 Category:React

Props validation is a very useful way to use components correctly. It can avoid many bugs and problems as your application becomes more and more complex. In addition, it can make your program more readable.

Why do you need to bind event handlers in React Class Components?

Publish Date:2025/03/16 Views:60 Category:React

When using React, we must have come across control components and event handlers. We need to use `.bind()` in the constructor of the custom component to bind these methods to the component instance. As shown in the following code:

Solution to the error "does not contain a default export" in React

Publish Date:2025/03/16 Views:191 Category:React

When we try to use `default import` to import from a module that does not have a `default export`, we get a "does not contain a default export" error. To fix the error, make sure the module has named exports and wrap the import in curly braces, e.g.

Scan to Read All Tech Tutorials

Social Media
  • https://www.github.com/onmpw
  • qq:1244347461

Recommended

Tags

Scan the Code
Easier Access Tutorial