如何在 React 中使用新的 Feature Hooks?

IT技术 javascript reactjs react-hooks
2021-04-19 14:32:43

我刚刚阅读了 React 的新功能钩子。阅读有关钩子的信息, 但我无法使用它。它给了我错误。

我目前使用的是 16.6.0 版

最后我明白了钩子。

import React, {useState} from 'react';

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

    return (
        <div>
        <p>You clicked {count} times</p>
        <button onClick={() => setCount(count + 1)}>
          Click me
        </button>
      </div>
    );}

 export default Fun;

我作为 Fun 导入并在我的 app.js 文件中使用

我犯的错误是我没有安装 React v16.7.0-alpha 所以我使用 npm add react@next react-dom@next 安装。

谢谢

1个回答

编辑:

Hooks 作为 16.8.0 版的一部分发布,您可以通过安装 React 和 React-dom 16.8.0 来使用它

yarn install react@16.8.0 react-dom@16.8.0

安装。为了升级react到最新版本

yarn upgrade react react-dom

Hooks 在 16.6.0 版本中不存在,但在 16.7.0 版本中是一个提议。但是你可以使用16.7.0-alpha.0alpha 版本的 React 来测试它们

为了使用这个安装上面的版本使用

yarn add react@next react-dom@next

确保你同时安装reactreact-dom否则你会收到类似的警告

TypeError: Object(...) is not a function” 尝试使用 react hooks (alpha) 时的错误

@Ram,我建议你创建一个关于你的错误的具体细节的问题,并提供相关的代码
2021-05-22 14:32:43
但我收到错误 Hooks can only be called in the body of a function component. 如何使用这个?
2021-05-30 14:32:43
添加react-dom对我来说是关键。reactjs.org/docs/hooks-overview.html 上的 react 文档没有提到这一点。很令人沮丧。
2021-06-13 14:32:43
@Farid 您需要始终使用相同版本的 react 和 react-dom。
2021-06-17 14:32:43
我得到了与上面相同的 TypeError,但是,我的依赖项具有正确的 Alpha 版本。有没有人经历过这个?我有一个不同的项目,可以毫无问题地使用它们,我正在尝试以相同的方式进行配置,但是一旦我尝试使用新 API,就无法克服此错误。
2021-06-20 14:32:43