reactjs - 使用 useContext() 时不断遇到标准的 React 钩子错误。使用这个钩子有什么好的模式?
问题描述
我正在尝试使用 useContext() 钩子,但不断遇到标准的 React 钩子错误(例如,只能在函数内调用 Hooks,可能存在重复的 React 版本等)。认为这是我本地计算机上的配置问题,我尝试并成功在此沙箱中复制问题:https ://codesandbox.io/s/contextapi-hooks-wjvuk?file=/src/components/pages/主页.js
我已经阅读了一堆教程并在这里阅读了一些帖子,但没有一个成功的解决方案能指引我解决我的问题。
我相信我在实现中遗漏了一个小细节,因此任何帮助/建议,无论是实际的还是理论上的,以巩固我对 React 和 Context-API 的理解,将不胜感激。
干杯!
解决方案
您只能在组件内部使用钩子。目前,您的Home
函数并未在任何地方用作组件,因此您无法useContext
在其中使用。尝试替换这一行:
<Route exact path="/" render={Home} />
和:
<Route exact path="/"><Home /></Route>
推荐阅读
- ruby-on-rails - Uncaught TypeError: $.ajax is not a function when trying to use gon.watch in cytoscape
- php - 在 URL 检测到:/未捕获的异常:错误:子查询返回超过 1 行错误编号:1242
- r - 带有居中标题 R 的空绘图
- c# - 在自定义控件中公开 ItemContainerGenerator 的优雅方式
- spring-boot - spring boot 重定向到本地 url
- git - Git,检测到本地 HEAD 指向一个 GIT 标签
- android - 在开始时选中复选框的 Listview 项目
- cookies - 如何从网站获取所有 cookie,包括第 3 方?
- php - Paypal:权限不足,授权失败
- python - TypeError: 'int' object is not iterable map(), list() , set() 不能解决我的问题