【发布时间】:2020-06-07 12:55:54
【问题描述】:
这个问题让我很头疼,但是我在编译和运行时不断收到这个错误(我正在使用带有 react 应用程序的 .NET Core 3.0):
错误:无效的挂钩调用。钩子只能在函数组件的主体内部调用。这可能是由于以下原因之一:
- 您可能有不匹配的 React 版本和渲染器(例如 React DOM)
- 您可能违反了 Hooks 规则
- 您可能在同一个应用中拥有多个 React 副本
错误指向我的 ../src/index.js 文件:
我不确定发生了什么,我花了 3 个小时试图修复它,但我就是无法显示主页。
我了解 hooks 错误,但我不明白为什么会调用它。
- 我有 React 和 React DOM 的匹配版本,16.13.1
- 对于我的 react 组件,我使用类。
- 我不确定如何检查不同的 react 副本
我对 React 很陌生,所以也许我在某个地方误解或搞砸了,请在这里帮助我,谢谢。
编辑:
【问题讨论】:
-
请您也发布
App组件的代码 -
错误就是它所说的,你告诉我们你使用类组件,并且错误状态“仅在函数组件中使用钩子”
-
对不起,我不太明白,这是否意味着我必须切换到使用函数和钩子,或者我可以坚持我的课程吗?如果我坚持我的课程,我是否必须在引入钩子之前回到旧版本的 react ?像
-
您不需要切换版本。您的 Route 路径之一在不允许的类中使用钩子。请避免发图片,最好贴实际代码或上传demo到codesandbox
-
尝试(在您的 IDE 中)搜索
use关键字...例如useHook、useEffect等。
标签: reactjs react-hooks