typescript-typings 相关问题

键入是管理和安装TypeScript定义的简单方法。它使用typings.json,它可以解析为Typings Registry,GitHub,NPM,Bower,HTTP和本地文件。

摩纳哥编辑器的 React Typescript 类型

以下代码片段可以与 React + Javascript 配合使用: 从“react”导入 React, { useRef }; 从“@monaco-editor/react”导入编辑器; 函数应用程序(){ ...

回答 3 投票 0

如何成功使用内部有自己导入的 TypeScript 文件中的接口?

我正在使用 WebStorm 开发一个 React JavaScript 项目,并尝试使用 TypeScript 接口和 JSDoc 注释为我们的 IDE(以及 VS Code)实现类型提示(希望我们能

回答 1 投票 0

当类型为记录时,类验证器不起作用<k,v> - NestJS

我们有一个 DTO 属性,其类型为 Record,Animal 是另一个带有 @IsDefined()、@IsNotEmpty() 等类验证器的 DTO。然而这些验证并没有发挥作用

回答 2 投票 0

如何扩展 Express Request 接口以在 TypeScript 中包含 Mongoose Session?

我正在使用 Express 和 Mongoose 以及 TypeScript 开发 Node.js 项目。我需要将 Mongoose 会话附加到每个请求来管理事务。但是,我遇到了 TypeScript 错误

回答 1 投票 0

为什么AB和CD这两种类型在TypeScript中可以相互分配”?

为什么以下接口建立的两种类型是一样的? 接口AB{ a?:字符串; b?:字符串; c?:字符串; } 接口 CD { c?:字符串; d?:字符串; 一个?:

回答 1 投票 0

在打字稿中将对象和接口相交

假设有一个对象: A = { 编号:123, 名称:“样本”, foo:“测试1”, 栏:“测试2” } 和一个界面: 接口一{ 身份证号; 名称:...

回答 1 投票 0

从字典中推断出更具体的类型?如何帮助 TypeScript 推断类型?

我得到了这个超级代码: 导出类型 Locale = "en" | “fr”; 导出类型命名空间=“产品” | “家”; 常量字典 = { zh: { 主页:{标题:“我的超级

回答 2 投票 0

为什么打字稿无法正确推断我的类型?我可以帮助打字稿推断类型吗?

我得到了这个超级代码。 导出类型 Locale = "en" | “fr”; 导出类型命名空间=“产品” | “家”; 常量字典 = { zh: { 主页:{标题:“我的超级

回答 1 投票 0

Next.js 应用程序有没有更好的方法来进行服务器端渲染

我正在我的 next.js 应用程序中进行服务器端渲染。该组件仅返回 html。还有更好的办法吗? 从“组件/主页/功能/功能”导入功能; 从 '

回答 1 投票 0

如何从对象类型推断属性和值类型

我有一个对象类型;我想获得一个新的元组类型,例如:[属性,值],当我输入属性时,它们打字稿可以自动推断值的类型,但我无法解决问题。 呃...

回答 2 投票 0

如何从打字稿中的映射类型推断属性和值类型

我有一个映射类型,我想得到一个新的元组类型,例如:[属性,值],当我输入属性时,打字稿可以自动推断值的类型,但我无法解决问题,所以我问...

回答 1 投票 0

条件类型中的 Typescript 元组推理

在下面的代码片段中,为什么output1和output2不都被推断为[number, number, number]? 片段 1: 类型 InferTuple1 = T 扩展任何[] ? [...T]:从不; 常量 func1 = 在下面的代码片段中,为什么output1和output2不都被推断为[number, number, number]? 片段1: type InferTuple1<T> = T extends any[] ? [...T]: never; const func1 = <T>(t: InferTuple1<T>) => t; const output1 = func1([1, 2, 3]) 片段2 type InferTuple2<T> = T extends any[] ? [...T]: T; const func2 = <T>(t: InferTuple2<T>) => t; const output2 = func2([1, 2, 3]); output1 推断为: const output1: [number, number, number] output2 推断为: const output2: number[] 第一种情况的类型推断对我来说很清楚:输入是一个数组(因此它扩展了any[]) 然后推断为 [...T],将 T 转换为 [number, number, number] 类型的元组 第二种情况,输入仍然是数组,但看起来是第二个条件分支 这是执行的,我不明白为什么(我希望 Typescript 返回第一个,因为条件已验证)。 (以同样的方式 func1(["foo", 42, "bar"]) 被推断为 [string, number, string],而 func2(["foo", 42, "bar"]) 被推断为 (string | number)[]) 在这两种情况下,条件类型在评估时都会选择 true 分支,因为 T extends any[] 为 true。区别在于,当您调用 T 或 func1() 时,TypeScript 如何推断 generic 类型参数 func2()。在这两种情况下,参数都是[1, 2, 3]。从技术上讲,编译器可以自由地推断与该参数兼容的“任何东西”。对于 func1(),它推断出 元组类型 [number, number, number],而对于 func2(),它推断出无序任意长度 数组类型 number[]。两者都不是“不正确的”,但是不同的启发法发挥作用,改变了偏好。这种推理究竟如何工作的细节没有完整记录(除了遍历编译器代码),所以我在这里给出的任何解释最多只能说明正在发生的事情,而不一定完全准确。 TypeScript 4.0 引入了可变元组类型,在 microsoft/TypeScript#39094 中实现。根据该拉取请求: 类型[...T],其中T是一个类似数组的类型参数,可以方便地用于指示对元组类型推断的偏好。 因此,如果您写 <T extends any[]>(t: [...T]) => t,您将倾向于获得元组,而如果您写 <T extends any[]>(t: T) => t,您将倾向于获得数组。因此,对于 <T,>(t: T extends any[] ? [...T] : never) => t,可变元组类型显示出对元组的偏好。但显然对于 <T,>(t: T extends any[] ? [...T] : T) => t 来说,它不是,并且 T 的存在会干扰推理。确切地说,它是如何干扰的,这就是我的知识逐渐消失的地方。我猜测在条件类型中T是比[...T]“更强”的推理候选者,因此[...T]在推理中被忽略。这不可能是故事的全部,因为这种“强度”并不能阻止 <T extends any[]>(t: T | [...T]) => t 更喜欢元组,并且 T extends any[] ? [...T]: T 是 T | [...T] 的子类型。 就这样吧。如果我发现有关如何通过条件类型推断可变参数元组的更多具体细节,那么我会回来并在此处编辑这些内容。我唯一的收获是,如果您关心推理,您应该尽量不要玩带有可变参数元组和条件类型的游戏。使用 const 类型参数(例如 <const T,>(t: T) => t)可能更容易完成元组推断。但这超出了所提出问题的范围,并且可能适合也可能不适合您的用例。Playground 代码链接

回答 1 投票 0

如何强制执行 TypeScript 类型,其中只有一个字段是字符串,所有其他字段都是数字?

我正在使用 TypeScript,需要为一个对象定义一种类型,其中所有字段都限制为数字,除了一个名为 order 的特定字段(它应该是字符串)。我怎样才能

回答 1 投票 0

在 TypeScript 中验证同一数组中的不同类型

MyType应该如何定义,以确保我的数组中的每一项都是由相同类型的项组成的数组? const array1: MyType = [["foo", "bar"], [42, 42], [true, false]]...

回答 1 投票 0

NextJS 项目中的类型声明

我对 NextJS 和 typescript 都是新手。我正在创建一个练习项目,我想知道将所有类型定义存储在像 global.d.ts 这样的一个文件中是否是一个好主意?或保留所有...

回答 2 投票 0

Typescript 联合类型 - 字段类型覆盖

我有以下示例代码,但我不清楚其行为。 类型A = { 字段:字符串 } 类型 B = { 字段:数字 } //我期望A | B 相当于字段: A["field"] | B[“f...

回答 1 投票 0

为什么这个函数可以接受与方法参数类型不兼容的类类型

为什么 func(x2) 有效?当 x2.index 要求将 F2 传递给它但 func 只传递 F1 时 F1类{ 值:字符串='' } 类 F2 扩展 F1 { 值2:数字= 0 } 抽象类 X1 {

回答 1 投票 0

设置传递数组中出现的值的返回键类型

我正在编写一个 api 库,并且有一个界面,其中某些键可以根据请求期间呈现的内容而更改,即如果添加某些参数,则键可以从字符串更改...

回答 1 投票 0

打字稿错误:找不到名称“FetchEvent”。您是说“TouchEvent”吗

我使用不同的 npm 包将 Pyodide 集成到一个大的 Angular 项目中。 其中两个包是sync-message 和pyodide。 错误消息:找不到“FetchEvent”。 我遇到以下情况...

回答 1 投票 0

检测 Typescript 中的重大更改

我们正在寻找一种解决方案来检测 .d.ts 中导出的类型的任何制动更改(例如接口删除、更改属性类型、更改枚举值等)。你知道一些工具吗? 如果

回答 1 投票 0

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