问题标签 [typescript-generics]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
typescript - 当不是 StringEnum 的所有元素都作为键存在时,接口 [StringEnum 中的键]?
考虑以下表示商店的示例数据,其中包含待处理和已完成的采购订单 ID 列表:
如果一家商店既没有待处理订单也没有完成订单,则它根本不会出现在列表中。
我尝试使用以下内容来表示这一点:
不出所料,tsc
抱怨当我没有这两个 PENDING
和FULFILLED
作为商店的子属性时。
我通过将该属性设为可选 ( [status in Status]?: number[]
) 来消除错误,但我认为这不是我真正想要做的,因为商店永远不会有零子属性。
另一个异想天开的,在黑暗中射击的尝试[status in Partial<Status>]: number[];
类似地抱怨。
这是我唯一的选择,而且根本不用担心吗?
这是一个平凡的 MCVE;真正的要复杂得多,并且有更多的层次。这就是(总是?)使用泛型而不是重复每个可能的键名的动机:枚举被用作其他对象中的字段值。
typescript - Typescript - 如何使用泛型定义中的完整类型?
这是我天真的尝试将泛型类型从参数对象类型MyObject<P>
转换为回调函数。
myObject
正如预期的那样,的类型是MyObject<{ value: number, otherValue: number }>
,所以我期望泛型类型会传播到doSomething
。P
将是{ value: number, otherValue: number }
,然后props
也将是那种类型。
但是,错误清楚地表明props
是 类型PropTypes
,这是 P 可能的最小类型。
有没有办法告诉 Typescript 编译器将完整的P
定义传递给回调,而不是像这样显式地强制类型?
typescript - 生成偏函数的类型
我有一个声明类型的函数。我计划使用此功能的部分版本。但我需要先为部分版本声明变量。
我可以复制签名,省略第一个参数。
虽然它可以工作并进行类型检查,但我想自动执行此操作。
这就是我想使用它的方式:
而且我不知道是否可以创建PartialFunc<Func>
通用。
我试过这种方法
或与泛型类型相同:
但这仍然需要我指定所有类型:
否则我有any
类型。
虽然这会强制执行类型检查,例如它不会接受PF<typeof myFunc, number, number, string>
,但我想避免再次编写类型。
基本上我想说 TS拿这个函数的签名,去掉第一个参数
有什么解决办法吗?
此任务的上下文 - 我有一个react-redux
应用程序,我想将参数从存储绑定到操作调度程序。
javascript - Axios 通用 Post 在 TypeScript 中返回错误类型
我正在尝试使用 Axios API 返回一个类型化的对象。我正在使用泛型类型来声明我正在返回一个实例,GetSliceResponse
但不幸的是 Axios 似乎仍然返回一个 any 类型的对象。
我的代码看起来像这样
Http 响应正是您所期望的:
如上面的代码所示,我可以使用语法正确地创建我的类型的实例,new
但 Axios 数据属性似乎不受类型声明的影响。
typescript - 打字稿通用类型错误
我有一个实用程序函数,它对注入存储以响应组件进行类型级别检查。
使用最新的打字稿版本 2.9.2 我收到错误“类型'A'不满足约束'对象'。类型'D'不可分配给类型'对象'。”
您能否帮助了解此错误以及如何解决此错误。
谢谢
typescript - 具有通用类型的打字稿装饰器
不适用于以下代码:
通用有什么问题吗?显示助理values: any
我想Test.set
从装饰器中使用泛型的方法
typescript - 打字稿泛型类型转换错误
我有一个实用功能,可以帮助在反应组件中输入检查注入的商店
我收到一个错误“类型'Pick'不满足约束'keyof ExpectedProps'。类型'Pick'不可分配给类型'StoreKeyToInject'。”
你能解释一下它的作用以及如何解决它吗?
reactjs - 基于 prop 在 React 组件中创建泛型类
我正在使用React
and immutable.js
,并且我需要Record
在组件内使用基于 - 的类型,该类型将其中一个字段值作为keyof
某个对象。
这是基本类型定义:
在另一个地方,我指的是这种类型以获得派生的:
最后,我创建了 React 元素本身:
它会引发编译错误:
我不太明白出了什么问题,但它确实如此,无论是使用类型推断Element
还是使用显式泛型。也许我走错路了?
更新:我们使用的是immutable.js v4.0.0-rc.9
,而不是稳定版本,包括类型。
typescript - 具有函数表达式而不是函数声明的泛型类型
这个函数声明编译并且似乎是正确的:
但是这个函数表达式不能编译:
如果可能的话,我正在寻找与函数表达式相同的正确语法。
我这样称呼 flattenDeep :
我不确定我所拥有的是否足以传达flattenDeep
应该返回类型 X。