》 在学习过程中,在编译过程中 出现了各种报错,然后查询各种资料。主要原因总结有如下。
- 您可能使用了不匹配的React和React DOM版本。
- 您可能正在违反“挂钩规则”。
- 您可能在同一应用程序中拥有多个React副本。
第一种情况,需要升级react版本,如果是新的项目用creact-react-app 构建的项目,都是用的最新的版本,就不要考虑这个问题。
第二种情况 经常遇到
类似 这类的问题 React Hook "useLocation" is called in function "jumpUrl" which is neither a React function component or a custom React Hook function
主要原因 是因为。在HOOKS中明确定义了,需要在功能组体 顶层调用。
- ✅在功能组件主体的顶层调用它们。
- ✅在自定义挂钩的顶层调用它们。 **自定义挂钩是一个JavaScript函数,其名称以“
use
”开头,并且可以调用其他挂钩
为避免混淆,在其他情况下不支持调用Hooks:
- 🔴不要在类组件中调用挂钩。
- 🔴不要调用事件处理程序。
- 🔴不要叫钩内传递给函数
useMemo
,useReducer
或useEffect
。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。