最小示例中的无效挂钩调用错误

时间:2020-05-02 19:43:12

标签: javascript reactjs react-hooks react-dom

我正在尝试使用React前端编写SPA,而我编写的非常少的代码却抱怨无效的钩子调用。

我了解,根据错误消息,此错误有三个主要原因:

  1. 您可能使用了不匹配的React和渲染器版本(例如React DOM)
  2. 您可能正在违反挂钩规则
  3. 您可能在同一应用中拥有多个React副本

我检查了npm ls reactnpm ls react-dom,他们都报告了各自软件包的单独安装,版本为16.13.1,所以我不认为这是原因1或原因3。对于违反规则的情况,鉴于代码仅是这样,这似乎是不可能的:

import { useState } from "react";
import ReactDOM from "react-dom";

const Main = () => {
  const [count, setCount] = useState(0);

  return(
    <>
    </>
  );
};

const reactRoot = document.getElementById("react-root");
ReactDOM.render(Main(), reactRoot);

在我看来,这似乎是一个非常好的功能组件,并且显然没有循环或条件。

1 个答案:

答案 0 :(得分:1)

正如评论中指出的那样,我的意思是使用JSX标签<Main />而不是调用Main()