如何解决反应js中的“useRef不是函数错误”

Posted

技术标签:

【中文标题】如何解决反应js中的“useRef不是函数错误”【英文标题】:How to solve "useRef is not function error" in react js 【发布时间】:2020-03-31 03:41:56 【问题描述】:

我正在尝试使用 rc-time-picker,但出现以下错误 请检查以下错误,我得到了什么 Align.js:88 Uncaught TypeError: react__WEBPACK_IMPORTED_MODULE_0___default.a.useRef is not a function at Align (Align.js:88) at updateForwardRef (react-dom.development.js:13581) at beginWork (react-dom.development.js:14402) at performUnitOfWork (react-dom.development.js:16627) at workLoop (react-dom.development.js:16667) at htmlUnknownElement.callCallback (react-dom.development.js:107) at Object.invokeGuardedCallbackDev (react-dom.development.js:144) at invokeGuardedCallback (react-dom.development.js:191) at replayUnitOfWork (react-dom.development.js:16042) at renderRoot (react-dom.development.js:16724) at performWorkOnRoot (react-dom.development.js:17352) at performWork (react-dom.development.js:17274) at performSyncWork (react-dom.development.js:17247) at interactiveUpdates$1 (react-dom.development.js:17528) at interactiveUpdates (react-dom.development.js:2248) at dispatchInteractiveEvent (react-dom.development.js:4749)

【问题讨论】:

你能发布你尝试过的代码吗,因为对我来说它正在工作 实际上对我来说它也适用于新的网络应用程序(react-version:16.12),之后我尝试添加我的项目,当时它正在出现问题(react-version:16.4) 【参考方案1】:

确保你从 React 导入了 useRef 依赖

import React,  useRef  from "react";

【讨论】:

您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。【参考方案2】:

useRef 是一个 React Hook,仅在 React 16.8 中引入。

将您的 React(和 React DOM)升级到 16.8 之后的任何版本,然后重试。

来源:https://reactjs.org/docs/hooks-intro.html

“Hooks 是 React 16.8 中的新增功能。它们让您无需编写类即可使用状态和其他 React 功能。” - 来自文档

【讨论】:

以上是关于如何解决反应js中的“useRef不是函数错误”的主要内容,如果未能解决你的问题,请参考以下文章

如何用JS实现点击图标自动隐藏和显示窗口

如何从反应js中的函数返回数组

如何简化反应js中的状态长度

异步文件 IO 方法如何处理 Node.js 中的本地文件?

反应式编程 - Node.js 中的 RxJS 与 EventEmitter

如何根据 Discord.js 中的反应编辑消息(创建列表和切换页面)