flowtype 相关问题

Flow是一种静态类型检查器,旨在查找由Facebook创建的JavaScript程序中的类型错误。

可以使用代表许多类型类型的类型?

我面临Facebook流的问题,在问题的标题中简要说明。原因是我不想指定100次。 这里是一个简化的例子:

回答 1 投票 0

通过反应和流动,如何创建一个工厂功能,该功能返回具有不同Prop类型的组件?

type AppleComponentProps = { id: SomeIDType, name: string } component AppleComponent(...props: AppleComponentProps) { if (!props.id || !props.name) { // throw some error } return ( <SomeOtherComponent> {props.id} {props.name} </SomeOtherComponent>; } type OrangeComponentProps = { address: SomeOtherType } component OrangeComponent(...props: OrangeComponentProps) { if (!props.address) { // throw error } return ( <SomeOtherComponent> {props.address} </SomeOtherComponent> ); }

回答 1 投票 0

<typeof Component>在此类型参考文档的这一部分中,我应该能够: 来自“ react”的导入类型{node,ref}; 功能容器():节点{ const inputref = useref(null); 返回

import type { Node, Ref } from 'react'; function Container(): Node { const inputRef = useRef(null); return <AutoselectingInput ref={inputRef} />; } type Props = { ref: Ref<HTMLInputElement>, }; function AutoselectingInput({ ref }: Props): Node { useEffect(() => { ref.current.select(); }, []); return <input ref={ref} defaultValue="Hello" />; } 但是,我有:"Cannot import `Ref` because there is no `Ref` export in `react`.Flow(missing-export)"。 为了正确注释DOM REFS,我需要使用什么? 如果您使用Flow 0.243+,并且可以使用React 19,则可以根据流文档的本节使用RefSetter注释Refs。补丁注释中还有一些其他信息,有关type type type和用注释参考。目前尚不清楚为什么React.Ref为什么尚未标记为文档中的弃用。

回答 1 投票 0

编辑 Flow 文件时防止 VS Code 中出现 TypeScript 错误

我正在编辑 Flow 文件。但 VS Code 可以识别一些语法,并认为 TypeScript 应该位于 TypeScript (.ts) 文件中。结果,该文件充满了红色的波浪线源

回答 1 投票 0

从代码库中删除 TypeScript 类型注释和断言

考虑到有一个项目需要从 TypeScript 转换为 Babel,文件中包含的打字信息不能被 Babel 忽略。 TS如何输入注解并断言...

回答 5 投票 0

React 16 使用什么样的语言扩展来对变量声明进行类型注释?

我正在检查一些源代码,直到我注意到这个奇怪的变量声明,我不完全理解。 让 eventsEnabled : ?boolean = null; 这意味着什么? 源代码来自这里:http...

回答 1 投票 0

在 JavaScript 中创建联合对象时无法分配对象文字

我正在尝试编写一个函数,该函数创建一个具有联合类型的所有公共属性的对象,但据我所知,如果没有 FlowFixMe,这是不可能的。这是一个例子 类型 AType = ...

回答 1 投票 0

扩展流程“type Props”以包含来自另一个组件的 prop 类型?

我有以下组件,主要依赖于react-native中的图像 // @流动 从“反应”导入反应; 从“react-native”导入{图像}; 从“../services/device”导入{deviceWidth};...

回答 2 投票 0

可以使用 Flow 注释内联“this”和注释类型吗?

出现此错误: 缺少函数隐式 this 参数的注释。 如果能够用评论类型对此进行注释就好了。可能的? https://flow.org/en/docs/types/comments/

回答 1 投票 0

无法分配给“当前”,因为它是只读属性

我试图让 useRef obj 为 null 或函数 这是代码片段 导入“./styles.css”; 从“react”导入{ useState、useRef、useEffect }; 导出默认

回答 4 投票 0

在内联注释类型中类型转换为类型别名(流程)

我有一个使用 Flow 的普通 JavaScript 文件,如下所示: // @流动 /*:: 类型 orderType = number; */ 让 ot = 0 /*:: 作为 orderType */; 但我收到错误 无效的类型转换语法。使用表格 ( 我有一个使用 Flow 的普通 JavaScript 文件,如下所示: // @flow /*:: type orderType = number; */ let ot = 0 /*:: as orderType */; 但我收到错误 无效的类型转换语法。使用形式 (<expr>: <type>) 而不是形式 <expr> as <type>。 但是,尝试该语法也会给我一个错误: let ot = 0 /*:: : orderType */; // ■■■■ Unexpected token `:`, expected the token `;` 使用类型别名进行类型转换不适用于 Flow 中的注释类型吗? 正确的语法似乎是 let op /*: orderType*/ = 0; 假设您使用 number 而不是 Number。

回答 1 投票 0

我可以在 Flow 的内联类型声明上使用 $ReadOnly 吗?

假设我有一个内联类型,例如 类 Tmp { #myreadonlystring /*:string*/ = "某个字符串"; } 我可以在这里使用实用程序类型 $ReadOnly 吗? 我试过 #myreadonlystring /*:$ReadOnly<

回答 1 投票 0

无法加载“package.json » eslint-config-react-app”中声明的插件“flowtype”:找不到模块“eslint/use-at-your-own-risk”

我使用 create-react-app 创建了一个新的 React 项目。 在终端 npm start 中。 立即出现此错误 无法加载“package.json”中声明的插件“flowtype”» eslint-config-react-app':不能

回答 11 投票 0

Flowtype:如何创建类型保护功能?

我想使用函数的类型细化。 如何在流程中创建类型保护函数(TypeScript)? 我的打字稿示例: 函数 isString(arg: Showable): arg 是字符串 { 返回类型 of ar...

回答 2 投票 0

Flow 是否可以将字符串限制为多种替代方案,类似于枚举?

在某些遗留代码中,字符串用作枚举,并且应限制为一定数量的可用值。这可以用 Flow 来做吗?

回答 1 投票 0

不能将导出用作类型,因为导出是一个值

我在运行流程检查时收到此错误,但我不确定这意味着什么。 无法将导出用作类型,因为导出是一个值。要获取值的类型,请使用 typeof。 错误位置是0...

回答 2 投票 0

当一个操作数是数组访问时,为什么 Flow 允许不匹配的类型比较?

这两段代码看起来是等价的,但只有一段出现类型错误 函数测试(arr:字符串[]){ // 这里出错了 const el = arr[0]; 如果 (el === 2) { } /* ^ 升数检查无效...

回答 1 投票 0

如何避免类型自动替换?

我在 React 组件中使用 Flow 类型作为 props。当我试图写这样的东西时: 类型道具= { 一些数组:数组, 一些布尔值:布尔值, 在我输入最后一个 c 后...

回答 1 投票 0

React eslint 道具验证中缺少错误

我有下一个代码,eslint 抛出: 反应/道具类型 onClickOut;道具验证中缺失 反应/道具类型的孩子;道具验证中缺失 propTypes 已定义,但 eslint 未定义

回答 16 投票 0

为什么React源代码是用JavaScript而不是TypeScript编写的,但仍然有类型?

我最近在阅读React源代码,发现所有文件都是.js而不是.ts 更让我震惊的是,在那些 .js 文件中,它们实际上使用的是 TypeScript 语法,

回答 1 投票 0

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.