javascript - Flow 抱怨无类型导入
问题描述
我开始使用一个 React Native 项目react-native-geolocation-service
来获取用户的 GPS 位置,但 Flow 抱怨该库没有类型。该库具有 Typescript 类型,但似乎没有 Flow 类型,当我导入库时 VS Code 给了我这个错误。
从一个无类型的模块导入它
any
是不安全的!您的意思是添加// @flow
到顶部react-native-geolocation-service
吗?(untyped-import
)Flow(LintError-untyped-import)
我可以说服 Flow 停止抱怨这个库,还是应该切换到 Typescript?我对 Flow 没有任何特别的偏好,这正是react-native init
为我设置的。
我用它来创建项目:
npx react-native init WarmerWalker
然后我像这样添加了库:
npm install react-native-geolocation-service
我在我的App.js
:
import Geolocation from 'react-native-geolocation-service';
我尝试将库添加到 中的无类型部分,.flowconfig
但这没有帮助。部分也没有ignore
。
代码似乎有效,只是让 Flow 抱怨。
解决方案
感谢 Alex 的评论,我了解了strict mode。创建的示例应用程序react-native
used @flow strict-local
,因此导致了问题。删除strict-local
使它停止抱怨。
但是,由于我要使用的库具有 Typescript 类型定义,因此我将切换到 Typescript。我使用Typescript 模板重新生成了示例应用程序,如下所示:
npx react-native init MyApp --template react-native-template-typescript
推荐阅读
- javascript - 应该如何配置 VSCode 以支持 Lerna Monorepo?
- java - Java 是否有一个类似 super() 的关键字,该关键字在不在继承树中的对象上执行与调用者具有相同签名的方法?
- android - Pixel 3 XL Android OS 10 在启动时使我的应用程序崩溃
- html - 伪元素后的 HTML 未按预期显示
- windows-installer - 解决方法以防止 Windows msi 安装程序终止它更新的进程
- android-studio - 可以制作一个像十字架一样的按钮形状吗?
- asp.net - API 调用返回 408(您的 POST 请求没有被足够快地接收。请重试)但与 Postman 和 ajax 一起工作正常
- elasticsearch - 使用 field_security 创建新角色时出现安全错误
- telegram - ESP8266 Telegram echo-bot 抛出异常
- c# - 在没有用户交互的情况下运行“Connect-MsolService”并为 Powershell 进行 Windows 身份验证