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