当前位置: 首页 > 知识库问答 >
问题:

在firebase应用程序内使用react-useState钩子时出现无效钩子调用错误

阙庆
2023-03-14

我正努力让你去工作。以下是功能组件:

function useHooksExample() {
  const [foo, setFoo] = useState(0);
  setFoo(5);
  return foo;
}

我称之为:

useHooksExample();

我得到一个错误,如下所示:

错误:无效的钩子调用。钩子只能在函数组件的主体内部调用。发生这种情况的原因如下:1。React和渲染器(如React DOM)2的版本可能不匹配。你可能违反了Hooks 3的规则。同一应用程序中可能有多个React副本。

我已经调试并确认我使用的是单一版本。也许我使用状态钩子不正确?

这里是我调用自定义钩子的地方:

    class TableData extends Component {
       componentDidMount() {
        useHooksExample();
   }
}
    export default TableData;

共有1个答案

戚鸿
2023-03-14

钩子仅用于功能组件内部。您可以将TableData转换为函数组件,以便使用钩子:

export default function TableData() {
  const foo = useHooksExample();
  return <div />;
}

钩子规则的“仅从React函数调用钩子”部分介绍了这一点。

 类似资料:
  • 我第一次面对的问题很小。我试图使用一个简单的useState,但出于某种原因,我不明白为什么React会给我一个错误,不管我想做什么--没有什么能修复它。 这是错误的图像:错误描述: 错误:无效的钩子调用。钩子只能在函数组件的主体内部调用。这可能是由于以下原因之一:1.React和呈现器(例如React DOM)2的版本可能不匹配。你可能违反了钩子3的规则。在同一个应用程序中可能有多个React副

  • 我是一个很新的反应,并得到以下错误: 我想在提交表单时使用另一个组件。因此,在文件A中,当表单提交时,is使用一个函数,在调用其他组件之前首先检查某些内容,如: 在组件上,我有一些usstate钩子: 当页面正在加载的时候,我得到了这个错误,有没有人知道什么是错误的?

  • 我得到以下错误,不确定我在箭头函数内实例化 react 钩子时做错了什么: 错误:挂接调用无效。钩子只能在函数组件的主体内部调用。这可能是由于以下原因之一: 您可能有不匹配的React和渲染器版本(如React DOM)。 您可能违反了钩子的规则。 同一应用程序中可能有多个React副本。请参阅https://reactjs.org/link/invalid-hook-call有关如何调试和修复此

  • 本文向大家介绍在React.js中使用useState钩子,包括了在React.js中使用useState钩子的使用技巧和注意事项,需要的朋友参考一下 钩子允许功能组件在反应中获得基于类的组件中可用的特性,从而使它们更加强大。 useState,我们将从react导入。从'react'导入{useState}; 这有助于我们为功能组件创建局部状态变量,并提供更新该变量的方法。 类中的状态是一个对象

  • 我的应用程序一直在工作,直到最后一次提交。 现在,它在< code>npm start上工作正常,但是在使用< code>npm run builder部署它之后,我遇到运行时错误: 不变冲突:缩小的反应错误# 321;访问https://reactjs.org/docs/error-decoder.html?invariant=321获得完整的消息,或者使用非精简的开发环境获得完整的错误和其他有

  • 我试图在react with typescript中创建一个登录表单。但setEmail方法不接受该值。它表示“string”类型的参数不能分配给“SetStateAction”类型的参数。我该怎么解决它?