typescript相关内容
我想创建一个类型,它是一个对象,具有属性values和valuesMap。values应为字符串数组,valuesMap应为对象,键为values中的条目,值为字符串或布尔值。我正在努力在TypeScrip中定义这个类型约束。以下是我尝试过的方法: type FilterOptionBase = { name: string; values: K[
..
我正在尝试提供一个接口,该接口接受给定类型的映射,并将其用于运行时逻辑和编译时类型。 类似: type SomeType = { a: string b: { a: string, b: string } } magicalFunction({ a: 1 }) // 1. return type is {a: string} magicalFunction({ b: 1 })
..
我目前正在为一个验证组件编写一些typedef和类,该组件被构造为验证特定类(下面的‘main’)上的字段。目标: 每个验证规则(MainValidationRule)应包含它正在验证的键(T extends keyof Main),以及验证相应值并返回指示有效性的标志的验证函数((value: Main[T]) => boolean)。 为便于使用验证器,在运行时将验证规则数组组装成一个
..
我为每个函数编写了三个类型相同的函数,让我们来看看它们。 const func: (arg: T) => K = () => { return 1; }; const anotherFunc = (arg: T): K
..
我有这个接口,它只存储另一个接口的键(modelKey)和该键的值(value): interface ValueHolder { modelKey: H; value: T[H]; } 现在我想存储以下模型中的horsePower,匹配的类型位于ValueHolder中: interface Car { id: number
..
我正在定义一个接口,其中一个属性类型依赖于绑定到枚举的泛型参数P。我使用以下方法: export enum Scopes { Fruit = 'fruit', Vegetables = 'vegetables', } export enum FruitItemTypes { Strawberry = 'strawberry', Rasberry = 'rasberry' }
..
如何在变量函数中使用泛型参数编写此类型脚本函数(将函数存储在变量中)? function identity(arg: T): T { return arg; } 我尝试了一下,但它报告Cannot find name 'React' const identity = (arg: T): T => { return arg; } 推荐答案 假设您引用
..
我希望有一个变量(实际上是函数参数,但我简化了问题),它可以包含Reaction组件,该组件必须在其属性中包含aNumber: number。 我未成功的尝试是: function MyComp(props: { aNumber: number, aString: string }) { return {props.aNumber} {props.aString};
..
我想做一些可能非正统的事情(如果我们诚实的话,也几乎毫无用处),所以我们开始吧: 我希望将文本作为泛型参数传递,然后实例化它。请考虑以下示例: const log = console.log; class Root { // public y: T = {}; // this obviously doesn't work // again this won'
..
我有一个类型脚本函数,它接受泛型类型和该泛型类型的键。我对该键进行了约束,以便该函数将只接受值为特定类型的键。使用约束键访问泛型对象时,返回的类型不是预期的类型。 如何将泛型对象的键约束为特定值类型并在泛型函数中访问该值? 例如: function onlyTakesADateKey(item: T, key: T[K] extends
..
从How to define array with alternating types in TypeScript?上的这个问题中,我看到可以定义一种数组类型,其中类型必须始终按顺序进行,以便以下内容对交替<;T,U&>有效: [] [T] [T, U] [T, U, T] [T, U, T, U] 加上任意长度的项,只要它们的顺序使类型U的元素始终由类型T的元素开头。 但是类
..
在TypeScrip中是否有一种方法可以动态键入一个函数,该函数默认接受2个参数,但应该能够正确地处理这些参数。 // should be allowed myFunction(paramA, paramB) myFunction(paramA, paramB, paramA1, paramB1) myFunction(paramA, paramB, paramA1, paramB1, pa
..
给定一些enum MyEnum {ONE, TWO},我想编写一个名为Like的函数 useMyFun(MyEnum, MyEnum.ONE); 我打错了。现在我有如下内容 type StringKeyOf = Extract; type EnumNumber = Record, number>; func
..
我有一个工厂函数,它创建一个经典的on()事件侦听器,但它特定于我希望允许用户侦听的任何类型。事件被定义为类型,它们有eventName和data(这是事件发出时返回的数据)。我希望保持这两个事件的相互关联,这样,如果我要侦听特定事件,则相关数据将在处理程序中可用。 考虑以下代码: interface DefaultEventBody { eventName: string d
..
我有一个带有键name和value的对象数组。我想将此数组转换为单个对象,其中键是name,值是来自输入对象的value属性。 type Input = { name: string, value: any }[] type Output = Record // Key-value object { [name]: value } const input: Inp
..
免责声明:下面是过于简单的函数,我知道它们是 无用 function thinger(thing: T): T { return thing; } const thing = thinger({ a: "lol" }); thing.a; 上述代码可以很好地转换。但我需要将thinger的结果放入一个对象中。 interface ThingHolder {
..
一旦在泛型接口中使用了Explicit_value扩展Explicit_value,即使代码是100%正确的,TS的类型系统也会变得愚蠢。 function fn(param: T): T { if (param === "a") return "a"/*
..
例如,在Scala中,用户可以执行以下操作(ScalaTest): assertDoesNotCompile("val a: String = 1") assertTypeError("val a: String = 1") assertCompiles("val a: Int = 1") 打字世界中是否存在类似的东西? 编辑: 我指的是上下文感知编译。例如问题How do I
..
我有一个如下所示的嵌套数组。手风琴应按编号显示。数组,折叠式摘要将包含详细信息‘TITLE’、‘TotalPrice’。而Accordion详细信息将包含‘子内容’、‘字幕’和‘字幕价格’。 let summaryContents: any[] = [ { Title: "Construction costs", TotalPrice: "$25000", Subcontents
..
我正在使用Reaction on Rails|WebPackaer|TypeScrip:“^2.8.1”。 我有一个高阶组件,它取一个组件,注入几个道具,然后返回: export type HCProps = { isValid: boolean, }; 然后我有一个组件,它从高阶组件获得注入的道具: import injector, { HCProps } from '
..