typescript 相关问题

TypeScript是由Microsoft创建的JavaScript的类型超集,它添加了可选类型,类,接口,async / await和许多其他功能,并编译为纯JavaScript。此标记用于特定于TypeScript的问题。它不用于一般的JavaScript问题。

react-draft-wysiwyg 不适用于 React 16.13.1 和 vite

我有一个使用webpack的项目(一切正常),然后我开始迁移到使用vite,我遇到了这个库的一个问题,当我使用yarn dev(viteserve)时我通常可以......

回答 1 投票 0

打字并承诺确定结果

我正在尝试编写一个函数,它接受 PromiseSettledResult 数组(Promise.allSettled 返回的类型)并返回已完成值或拒绝原因的数组: 函数 unwrapRes...

回答 1 投票 0

默认 prop 值的 useEffect 无限循环问题

我有一个下拉组件;这里的重要部分: 从“react”导入 { useEffect, useState } 类型 PropsType = { 选项?:任何[] } 导出 const DropDown = (道具: PropsType) =...

回答 2 投票 0

打字稿参数可以注释为const吗?

如果我不想在函数作用域内更改参数的值,有没有办法用 Typescript 注释它? 我试过了: 函数 walk(const fileName: string): string[] { // -----...

回答 5 投票 0

为什么我们必须在 Typescript 联合中使用“in”来缩小类型?

在缩小联合类型范围时,我一直被“in”的使用绊倒。我一直在问自己,为什么我们不能只检查属性以缩小范围? 例子... 类型 Obj1 = { 留言:

回答 1 投票 0

想要使用父级的@input装饰器访问变量值

我想使用父级的baseurl,可用于子级的进一步处理 仪表板是父级的 ` 我想使用父级的baseurl,可用于子级的进一步处理 仪表板是父级 `<div class="layout-wrapper" [ngClass]="containerClass"> <app-topbar></app-topbar> <div class="layout-main-container"> <div class="layout-main"> <router-outlet baseurl='MY_API_URL'></router-outlet> </div> <app-footer></app-footer> </div> <app-config></app-config> </div>` 我想要一个设置,因此如果将来我需要更改基本网址,我可以仅从标签更改它 为此,各个孩子的代码如下 export class SpecimenComponent implements OnInit { @Input() baseurl = ''; 在您希望所有子组件具有相同基本 url 的父组件中,创建一个服务,确保它没有 providedIn: 'root' 并将其添加到父组件中,如下所示 @Component({ providers: [UrlService], }) export class ParentComponent { const urlService = inject(UrlService); ngOnInit() { this.urlService.baseUrl = 'http://example.com'; } } 然后导入服务,确保所有子 URL 具有相同的要共享的 URL,据我所知,不可能使用 @Input 或 @Output 作为路由! 使用providers数组中的服务,我们确保该服务创建了一个新实例,因此只有父级及其子级可以访问您设置的url!

回答 1 投票 0

在 mui 数据网格单元中使用 MUi 文本归档,当用户输入值消失时,它不起作用

以下链接有一个实例 链接到现场示例: https://stackblitz.com/edit/ashok-reddy?file=muidatagrid.tsx,index.html,index.tsx。 当用户在 mui d 中输入 Mui 文本文件的值时...

回答 1 投票 0

在图表选项中输入与“剪切”相关的错误

我的图表对象定义如下: this.chart = new Chart("myChart", { 类型:'甜甜圈', 数据: { 数据集:[ { 标签:标签数据, ...

回答 1 投票 0

如何定义从具有 InputSignal 属性的抽象类继承的 Angular 组件记录?

我尝试像这样定义一个记录: // 导入... 导出抽象类 AbstractComponent { 抽象道具:InputSignal; } 导出类 TestComponent 扩展

回答 1 投票 0

关于 Angular 17 中的全局变量声明

我想将我的baseurl声明为我的角度项目中的全局变量,而不导入任何模块。我只想在任何组件或服务中输入 baseurl 时访问该值。目前我是

回答 1 投票 0

为什么窄化在 React 组件函数中不能正常工作?

我在反应组件中遇到了联合问题。下面的代码示例似乎已损坏,但我很困惑为什么会发生这种行为。 输入道具= | { 值:字符串; onChange: (值: 字符串) =...

回答 1 投票 0

类装饰器Nestjs修改类中的每个方法

我想创建一个装饰器,它可以获取类的所有方法并用某些功能包装它们,对于这个例子,只需像这样记录: 导出函数 CustDec 我想创建一个装饰器,它可以获取类的所有方法并用某些功能包装它们,对于这个例子,只需像这样记录: export function CustDec<T extends new (...args: any[]) => any>(Target: T) { return class extends Target { constructor(...args: any[]) { super(...args); console.log('@--------------------@'); (Target as any).prototype.alphaMethod = async (args: any[]) => { console.log('@-before-@'); await (Target as any).alphaMethod(); console.log('@-after-@'); }; } }; } 问题是当我将此装饰器应用到我的班级时: import { Controller, Post } from '@nestjs/common'; import { ApiTags } from '@nestjs/swagger'; import { Firewall } from 'src/auth/decorators/firewall.decorator'; import { CustDec } from './feedback.decorator'; @CustDec @ApiTags('feedback') @Controller('feedback') export class FeedbackController { constructor() { setTimeout(async () => { await this.alphaMethod(); // <--- here }, 3000); } @Firewall() @Post('') async alphaMethod() { // <-- and here return 'some promised result'; } } 当我尝试在控制器上调用 /feedback 端点时,我收到错误,就好像 Firewall 和 Post 装饰器在我的 CustDec 更改 alphaMethod 后停止工作一样。即使我从 FeedbackController 构造方法内部调用 alphaMethod,我也会收到另一个错误: @-before-@ This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason: TypeError: Target.alphaMethod is not a function at FeedbackController.Target.alphaMethod (/home/zagrava/workspace/test-nest/backend/src/feedback/feedback.decorator.ts:8:31) at Timeout._onTimeout (/home/zagrava/workspace/test-nest/backend/src/feedback/feedback.controller.ts:12:18) at listOnTimeout (node:internal/timers:564:17) at processTimers (node:internal/timers:507:7) 如何让我的 CustDec 使用日志记录正确包装类的所有方法? 类装饰器可以像下面这样实现: function intercept<T extends { new(...args: any[]): {} }>(target: T) { const methods = getMethods(target.prototype); for (const method of methods) { const currentMethod = target.prototype[method] target.prototype[method] = async (...args: any[]) => { console.log("intercepted", new Date()); const result = currentMethod(args) if (result instanceof Promise) { await result } console.log("executed", new Date()); return result; } } } 这个想法是获取类的所有函数(构造函数本身除外)并将它们包装在自定义函数中。 获取如下类函数的辅助方法对于这种情况很有用: const getMethods = (obj: any) => Object.getOwnPropertyNames(obj).filter(item => typeof obj[item] === 'function' && item !== "constructor") 游乐场 多个装饰器正在运行 问题很简单,POST和Firewall等装饰器使用反射包创建元数据,因此只需将原始方法的元数据复制粘贴到目标方法即可。 function copyMetadata( originalMethod: any, targetMethod: any, ) { const metadataKeys = Reflect.getOwnMetadataKeys(originalMethod); for (const key of metadataKeys) { const metadata = Reflect.getMetadata(key, originalMethod); Reflect.defineMetadata(key, metadata, targetMethod); } }

回答 2 投票 0

document.getElementById("id") 可能为 null

编辑:我正在使用 TypeScript v2.2.1 我是 TypeScript 的新手,我不确定处理可能存在或不存在的 DOM 元素的最干净的方法是什么。基本上,我想检查是否有 el...

回答 5 投票 0

如何使用 web3js 验证 Solana 钱包地址?

我正在尝试验证从用户那里获得的输入文本是否是有效的 Solana 地址。 根据 web3.js 文档,方法 .isOnCurve() 执行以下操作: https://solana-labs.github.io/solana-

回答 6 投票 0

如何在反应表组件的单元格中添加单选按钮?

我是使用 React 和 TypeScript 进行编程的新手,我目前正在尝试在 React 表行单元格内添加两个单选按钮。 以下是我的目标。 从上面可以看出我想添加...

回答 1 投票 0

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

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

回答 2 投票 0

TypeScript 中的语音识别和语音合成

我能够通过创建如下接口在 TypeScript 中运行 SpeechRecognition,并且工作正常: 命名空间核心{ 导出接口 IWindow 扩展 Window{ webkit语音识别...

回答 2 投票 0

Babel 自动反应运行时无法正常工作。仍然出现 Uncaught ReferenceError: React is not Defined

根据React的新版本,我们不应该总是从'react'导入React 但我仍然有错误 Uncaught ReferenceError: React is not Defined .babelrc(切换预设顺序 doe...

回答 2 投票 0

内部错误:RangeError:超出最大调用堆栈大小 Next.js React

所以我已经有一段时间遇到“⨯内部错误:范围错误:超出最大调用堆栈大小”,我似乎无法弄清楚是什么原因造成的。我正在努力做到这一点,以便当...

回答 1 投票 0

useParams() 返回 null

当我尝试在 nextjs 中调用 useParams() 挂钩时,根据文档,它不应该为 null。 这是我的目录结构: 页面 ├── [游戏代码] │   └── 索引.tsx 内部索引...

回答 1 投票 0

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