由于react中没有useState导出,无法导入useState(使用React Hooks)。

3

希望我没有重复提出问题。我已经看到了这个问题:TypeError dispatcher.useState is not a function when using React Hooks,但我的应用程序运行良好,只是Flow中的一个错误:

Cannot import `useState` because there is no `useState` export in `react`.

   4| import { useState } from 'react';

我正在使用 16.7.0-alpha 版本的 react 和 react-dom 依赖:

 "dependencies": {
    ...
    "react": "^16.7.0-alpha",
    "react-dom": "^16.7.0-alpha"
  },

这是我从Flow获取的唯一错误,其他React元素都没问题。我的依赖项有问题吗?
这是我文件的顶部:
// @flow

import React from 'react';
import { useState } from 'react';

编辑:我还进入了我的 node_modules/react 文件夹,并验证了 useState 函数确实存在于其中。


1
React的类型定义仍未更新。 - Aleksey L.
2个回答

4

2018年11月11日更新——React团队的Brian Vaughn已经为React hooks添加了Flow类型,并且已经合并——https://github.com/facebook/flow/pull/7149/

React Flow类型目前还未更新,可以在这里查看。

如果您有兴趣,可以创建一个PR来更新它(:


哈哈,我想这有点超出我的能力范围了。谢谢! - P Fuster
似乎自2018年11月13日起,React Flow Types已添加了钩子,但我在flow 0.89.0中仍然遇到类型错误(我猜很快就会解决)。 - seveibar
我尝试在“flow-typed”中更新React,但它仍然报错。如何将新的React flow-types应用到项目中? - Daryn K.
我仍然面临这个问题,有人找到解决方案了吗? - Rachit Kyte.One

1

在到处搜索后,我找到了一个解决方案:使用上面许多开发人员提到的Flow。我尝试安装Flow,它确实起作用。

npm i -D flow-babel-webpack-plugin 对我有用,但是如果不起作用,请尝试以下步骤:"flow-bin": ">=0.44.2 <1"


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接