首页 > 解决方案 > React 16.7 TypeError 中的 React Hooks 问题:Object(...) is not a function

问题描述

我正在运行最新版本的 React 并且收到此错误 在此处输入图像描述 我有一个使用 React Hooks 的简单组件,如您在此处看到的:

import React, { useState } from "react";

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

  const incrementCount = () => {
    setCount(count + 1);
  };
  return (
    <div>
      <h1>Count:{count} </h1>
      <button onClick={incrementCount}>Click Me</button>
    </div>
  );
};

export default AppFunction;

我在堆栈溢出时发现的所有内容都说要升级库,但我有最新版本(16.7.0)并且尝试了 alpha 版本但没有运气,我做错了什么?

包.json

"dependencies": {
    "react": "^16.7.0",
    "react-dom": "^16.7.0",
    "react-scripts": "2.1.1"
  },

标签: reactjsreact-hooks

解决方案


更新

Hooks 现在作为 React v16.8.0 的一部分发布。你可以通过升级你的反应版本来使用钩子

有关API 的更多详细信息,请参阅文档


React 16.7.0 不包含钩子。

根据React 博客

我们的最新版本包括 React.lazy 的重要性能错误修复。虽然没有 API 更改,但我们将其作为次要版本而不是补丁发布。

为了在您的代码中运行钩子,请参阅如何在 React 中使用新的功能钩子?


推荐阅读