React useState无法设置初始值及setCurrentUser报错求助
问题排查与解决
你代码里的核心错误是useState的解构方式用错了:
React的useState Hook返回的是一个有序数组,而不是对象。你现在用了对象解构语法{ currentUser, setCurrentUser },但数组本身没有currentUser和setCurrentUser这两个属性,所以解构后这两个变量都会是undefined,这就导致了控制台打印undefined,调用setCurrentUser时触发类型错误。
修正后的代码如下:
import { useState } from 'react'; const App = () => { // 改成数组解构,按顺序获取状态值和更新函数 const [currentUser, setCurrentUser] = useState("abc") console.log(currentUser) // 现在会打印"abc" return( <div>{currentUser}</div> ) };
简单说,useState的正确用法是用方括号[]做数组解构,第一个变量是状态值,第二个是对应的更新函数,变量名可以自定义,但顺序不能错。
内容的提问来源于stack exchange,提问作者ineedhelp
相关产品推荐
相关产品推荐

