Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 使用React钩子发布_Reactjs_React Hooks - Fatal编程技术网

Reactjs 使用React钩子发布

Reactjs 使用React钩子发布,reactjs,react-hooks,Reactjs,React Hooks,我在尝试在react中使用useState时遇到此错误: 我有: 重新安装所有模块 确保它们都是最新的 检查我没有重复的反应 我已经彻底浏览了网站,没有任何帮助 正如错误消息所说,“只能在函数组件的主体内部调用挂钩”,但您有一个类组件。您需要首先调用组件,而不是类组件,然后确保从组件的顶层调用useState,而不是从组件内部的另一个函数调用 中包含了此确切场景,作为出现此错误的原因示例: 我建议您阅读以下文档: React钩子只能在功能组件中使用,不应在返回/渲染钩子中使用 试试这个: f

我在尝试在react中使用useState时遇到此错误:

我有:

  • 重新安装所有模块
  • 确保它们都是最新的
  • 检查我没有重复的反应
  • 我已经彻底浏览了网站,没有任何帮助

正如错误消息所说,“只能在函数组件的主体内部调用挂钩”,但您有一个类组件。您需要首先调用组件,而不是类组件,然后确保从组件的顶层调用
useState
,而不是从组件内部的另一个函数调用

中包含了此确切场景,作为出现此错误的原因示例:


我建议您阅读以下文档:

React钩子只能在功能组件中使用,不应在返回/渲染钩子中使用

试试这个:

function component() {
 const [gridMode, setGridMode] = useState(false);

 return() {
  <button onClick={()=> setGridMode(true)}>Change hook state!</button>
  //an example of how to manipulate your hook
 }
}
函数组件(){
const[gridMode,setGridMode]=useState(false);
返回(){
setGridMode(true)}>更改挂钩状态!
//一个如何操作钩子的示例
}
}

这里几乎没有问题。1.在
home.js
中,您有一个类组件,挂钩只允许在函数组件中使用。2.试图在
渲染中使用
useState
。文档中建议链接的部分是。正如错误消息所说,“只能在函数组件的主体内部调用挂钩。”没有函数组件,只有类组件。“将其移到render()之外”有点误导,整个组件需要作为函数组件重写。