types 相关问题

类型和类型系统用于强制程序中的抽象级别。

根据类型过滤数组

我是打字稿新手...我有一个数组,它的类型是两种类型的联合 typeA[] | typeB[] 但我想根据对象的类型进行过滤 接口类型A { 属性1:字符串

回答 1 投票 0

`extension`如何引用dart中`this`的类型?

假设我有一些数据类型,并且我想要一个仅返回 this 的函数 gimmeThis() 。目前,main() 中的代码无法编译,因为 gimmeThis() 的结果是 MyClass。我怎样才能...

回答 1 投票 0

应用函子时是什么导致这种类型不匹配?

我有以下文件: SetMaker.mli 模块类型元素 = sig 类型t val 创建:'a -> t 值比较:t -> t -> int val to_string : t -> 字符串 结尾 模块类型集 = sig

回答 1 投票 0

如何通过 Typescript 中的工厂函数将可区分的联合映射到具体类型(例如类)?

我正在尝试类似以下的操作: 类型节点= | { 类型:'组';子节点:节点[] } | { 类型:'对象';有效负载:数字}; 班级组{ 类型:“组”; // 当这...时代码按预期工作

回答 1 投票 0

Typescript:如何提取 const 对象的值类型并将它们用作新类型中的键?

我想获取一个常量对象,例如 {key1: 'value1', key2: value2'} 作为 const,并将其值转换为键,并在类型为 {value1: number; 的新对象中使用它。值2:数字}。我想...

回答 3 投票 0

如何设置绝对路径和相对路径的类型?

我需要在 Deno TypeScript 中处理绝对路径变量和相对路径变量。 std 库具有 ParsedPath 类型,但这不够具体。除了添加绝对/相对...

回答 1 投票 0

完全不正确的 TypeScript 错误:属性 x 在类型 y 上不存在

我和我的团队在 React 项目中遇到了一些明显不正确的 TypeScript 错误。 这是一些 JSX: 我和我的团队在 React 项目中遇到了一些明显不正确的 TypeScript 错误。 这里有一些 JSX: <PatchField name="name" render={({ value, setValue }) => ( <Input placeholder="Enter a name" value={(value ?? "").toString()} onChange={getHandleTextValueChange(setValue)} maxLength={TITLE_FIELD_MAX_LENGTH} showInputLength={false} variant="ghost" size="large" /> )} /> name="name"行有错误: S2322: Type { name: string; render: ({ value, setValue }: { value: any; setValue: any; }) => Element; } is not assignable to type IntrinsicAttributes Property name does not exist on type IntrinsicAttributes 强调“属性name在类型IntrinsicAttributes上不存在。” 问题在于 PatchField (ComponentProps<typeof PatchField>) 的 props 确实有 name 字段。 在 WebStorm 中,我可以轻松转到 name(Ctrl+B 或 Ctrl+LClick 或 RClick -> Go To -> Type Declaration)的定义并看到以下内容: interface PatchFieldProps { name: string; render: (args: RenderArgs) => ReactNode; } 事实上,当我将鼠标悬停在 WebStorm 中的 name 属性上时,我看到了这个: 界面清晰包括name。为什么我(和我的团队)会收到此错误?为什么 TypeScript 认为 PatchField 的 prop 类型是 IntrinsicAttributes?我可以清楚地看到 PatchField 的 props 声明的类型确实是 not IntrinsicAttributes。 我们都使用最新版本的 TypeScript。我个人使用的是 v4.9.5. 请注意,这不是 不是 WebStorm 特定的问题,因为我在运行时遇到类型错误 tsc --noEmit。 编辑: 描述PatchField的代码: import { memo, ReactNode, useMemo } from "react" import { useField, useFormikContext } from "formik" import { FieldValue } from "../../typings.ts" interface PatchFieldProps { name: string render: (args: RenderArgs) => ReactNode } export const PatchField = memo((props: PatchFieldProps) => { const { name, render } = props const { submitForm } = useFormikContext() const [fieldProps, _meta, helpers] = useField<FieldValue>(name) return useMemo(() => { const setValue = (value: FieldValue) => { void helpers.setValue(value, false) } return render({ value: fieldProps.value, setValue, patchValue: () => { void submitForm() }, }) }, [submitForm, helpers, fieldProps.value, render]) }) 正如评论中指出的,这是可以减少的。我已将其简化为: import { ReactNode } from "react" import { FieldValue } from "../../typings.ts" interface RenderArgs { value: FieldValue setValue: (value: FieldValue) => void patchValue: () => void } interface PatchFieldProps { name: string render: (args: RenderArgs) => ReactNode } export const PatchField = (props: PatchFieldProps) => { console.log("PatchField props:", props) return null } PatchField.displayName = "PatchField" 错误消失了(大约一分钟后,无论哪个进程都赶上了)。我逐渐重构了原始组件,发现返回 ReactNode 钩子返回的 useMemo 导致了问题。 通过将返回值包装在片段中,错误消失了: export const PatchField = memo((props: PatchFieldProps) => { const { name, render } = props const { submitForm } = useFormikContext() const [fieldProps, _meta, helpers] = useField<FieldValue>(name) const ret: ReactNode = useMemo(() => { const setValue = (value: FieldValue) => { void helpers.setValue(value, false) } return render({ value: fieldProps.value, setValue, patchValue: () => { void submitForm() }, }) }, [submitForm, helpers, fieldProps.value, render]) return <>{ret}</> }) 我觉得这很奇怪,我没有解释为什么直接返回 ReactNode 会导致道具不被识别,但它确实有效。

回答 1 投票 0

Nim 中可变大小且可容纳不同类型的数组类型有哪些?

Nim 是继 Python 之后我的第二语言。 Python 有一个通用的数组类型,即“列表”类型。它的尺寸可变,可以容纳任何类型。我目前正在整理、学习中……

回答 1 投票 0

为什么没有 HTMLNavElement 类型?

为什么 HTMLNavElement 不是一个东西?似乎大多数其他元素都有自己的“类型”,但似乎 HTMLNavElement 被排除在外。 我最初认为 HTMLElements 需要自己的......

回答 1 投票 0

.equals() 和 ==

我不知道为什么在使用 .toString() 并拥有新的 String 之后,当我们想要比较时,我们只需要使用 .equals 而不是 == 。但其他字符串可以用==进行比较。为什么会这样以及什么...

回答 1 投票 0

如何告诉 JPA 首选的数据类型

如果我使用 JPA (EclipseLink) 创建表,则 String 类型会生成 varchar2(255)。我如何告诉 JPA(通过注释)创建 varchar2(20) 属性。 如果我有一个列表 JPA 创建一个 BLOB...

回答 5 投票 0

是否可以为Protocol Buffer中的字段定义数值范围?

我生活在一个非常安全/关键的 Ada-ic 环境中,并且已经养成了具有明确定义和有界类型定义的习惯。我还遇到过很多 ASN1 使用/传播者。 关键之一

回答 2 投票 0

为什么我需要在详尽的 switch 表达式中显式向下转型?

这里有一些我觉得很有趣的 dart 代码: 无效主(){ var someA = B(); 一个值 = switch (someA) { B() => B(), C() => C(), }; } A级密封 这里有一些我觉得很有趣的 dart 代码: void main() { var someA = B(); A value = switch (someA) { B() => B(), C() => C(), }; } sealed class A<T extends num> {} final class B extends A<int> {} final class C extends A<double> {} 如果您尝试编译它,您会收到有关 switch 语句的错误:A value of type 'Object' can't be assigned to a variable of type 'A<num>'. Try changing the type of the variable, or casting the right-hand type to 'A<num>'. 我的问题是,为什么编译器不推断两者之间的公共父类型? (好吧,我猜想……默认为 Object。)如果你写了类似 var myThing = true ? 1.5 : 7; 的内容,dart 会将 myThing 的预期类型推断为 num。为什么这里不这样做? 当然,一旦你这样做了,这一切就都解决了 void main() { var someA = B(); A value = switch (someA) { B() => B() as A, C() => C() as A, }; } sealed class A<T extends num> {} final class B extends A<int> {} final class C extends A<double> {} 相反。另外,值得注意的是,当类型参数 <T extends num> 不存在时,这个问题就不会出现——所以泛型类型的一些东西会阻止编译器推断预期的类型(或者至少是我预期的类型)。 另一方面,这个稍作修改的版本可以按预期工作,无需进行转换(Dart 版本 3.3.0): import 'dart:math'; sealed class A<T extends num> {} final class B extends A<int> {} final class C extends A<double> {} void main() { var rand = Random(); var someA = B(); var value = switch (someA) { B() => B(), C() => C(), // Dead code (message from the static analyzer). }; print(value); print(value.runtimeType); var myThing = rand.nextDouble() > 0.5 ? 1.2: 1; print(myThing.runtimeType); } 另请注意,myThing 可以推断为 int 或 double。 $ dart main Instance of 'B' B int

回答 1 投票 0

“一体式”是什么意思?

Raymond Chen 在他的博文中说道, 整数类型 WPARAM、LPARAM 和 LRESULT 在 32 位系统上为 32 位宽,在 64 位系统上为 64 位宽。当 32 位进程发送

回答 3 投票 0

TypeScript 在构造函数上键入以在扩展类中引用自身

这可行,但我想知道是否有更好的方法让构造函数知道我们想要一个 UserEntity 又名 typeof this 类 BaseEntity { 构造函数(数据:){ 对象。

回答 1 投票 0

在不执行查询的情况下获取Postgres查询结果的类型

给定一个正在运行的 Postgres 集群,如何获取任意查询结果的列的类型名称数组?我宁愿避免执行查询,因为查询可能是准备好的意思......

回答 2 投票 0

在 Code::Blocks 上无法识别 MinGW 中的 long long 、 long double

我对 C 语言编程相当陌生。我正在使用 MinGW (GCC) 来起诉 Code::Blocks 20.03,它是 CB 安装的默认部分。我尝试了几次声明和使用 long long int 与 %Ld...

回答 1 投票 0

给定回溯,如何知道要捕获哪种异常类型?

一般异常捕获器会记录以下异常: 回溯(最近一次调用最后一次): 文件“4sq.py”,第 37 行,位于 签入 = client.checkins() 文件“/usr/...

回答 2 投票 0

如何知道Python中要捕获哪种异常类型?

一般异常捕获器会记录以下异常: 回溯(最近一次调用最后一次):文件“4sq.py”,第 37 行,位于 checkin = client.checkins() 文件“/usr/...

回答 2 投票 0

如何将 UTType 与 UIdocumentPicker 一起使用(页面?docx?)

我正在尝试打开仅允许某些文件类型的选择器。 我正在使用此文档来查找我需要的 UTTYpe: https://developer.apple.com/documentation/uniformtypeidentifiers/uttype/

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.