typescript 相关问题

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

ngrx效果调度会导致内存泄漏吗?

所以我正在学习 NgRx,有些东西我需要牢记在心。当我创建 Effect 并分派操作时, createEffect 函数将运行。现在,根据我所了解到的...

回答 1 投票 0

标题属性在我看来是一种不存在的类型,我不知道该怎么办?

我正在使用 astro 和 React 进行动态路由,当进行获取以获取对象数组时,它告诉我 Prduct.title 属性永远不会,我不知道为什么 src/pages/category/[ca...

回答 1 投票 0

当类型设置为模块时,在`ts-node`中出现`TypeError [ERR_UNKNOWN_FILE_EXTENSION]:未知文件扩展名“.ts”`

我在我的express项目中配置了绝对路径,然后将类型更改为模块,因为我正在使用导入,但这给了我错误 TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file

回答 1 投票 0

GeoapifyGeocoderAutocomplete placeSelect 属性在 React TypeScript 上不起作用

我发现一个名为 @geoapify/react-geocoder-autocomplete 的免费 API 的自动完成地址组件可以在此 github 存储库中找到:https://github.com/geoapify/react-geocoder-autocomplete,或者...

回答 2 投票 0

在 Storybook 文件中使用 useSearchParams 时出现“TypeError:无法读取 null 的属性(读取 'get')”

我在组件中有以下 Next.js 代码: 从 'next/navigation' 导入 { useSearchParams }; const searchParams = useSearchParams(); const currentPage = parseInt(searchParams.get('page') |...

回答 1 投票 0

如何使用 Typescript 注释 SolidJS 组件?

我开始学习 typescript 和 SolidJS,然后我遇到了这个。 从“solid-js”导入{组件} const Button:Component=({onClick})=>{ 返回 我开始学习 Typescript 和 SolidJS,然后我遇到了这个。 import { Component } from "solid-js" const Button:Component=({onClick})=>{ return <button onClick={onClick}>Button</button> } export default Button 我创建的每个组件都充满了错误高亮,但项目运行正常,甚至是传入的函数onClick。 可能是 vscode 配置错误?我通常在 React 中编码。 文件扩展名是 tsx: tsconfig.json { "compilerOptions": { "strict": true, "target": "ESNext", "module": "ESNext", "moduleResolution": "node", "allowSyntheticDefaultImports": true, "esModuleInterop": true, "jsx": "preserve", "jsxImportSource": "solid-js", "types": ["vite/client"], "noEmit": true, "isolatedModules": true, "paths": { "@": ["./src"], "@/*": ["./src/*"], "$lib":["./src/lib"], "$lib/*":["./src/lib/*"] } } } 存储库solidjs 核心模块中的 Component 类型用于注释 SolidJS 组件。它对于 Props 对象是通用的。 让我们看看它的定义: /** * A general `Component` has no implicit `children` prop. If desired, you can * specify one as in `Component<{name: String, children: JSX.Element>}`. */ export declare type Component<P = {}> = (props: P) => JSX.Element; 因为你的组件只有一个 prop,onClick,并且它将点击事件作为其唯一参数。点击事件具有 MouseEvent 类型: import { Component } from "solid-js" interface ButtonProps { onClick: (event: MouseEvent) => void } const Button: Component<ButtonProps> =({ onClick })=>{ return ( <button onClick={onClick}>Button</button> ); } export default Button; 我创建的每个组件都充满错误高亮,但项目运行正常,甚至onClick中传入的函数也是如此。 Typescript 是一个辅助工具,组件只要编译为 JavaScript 且没有任何错误就可以工作。 如果您不向Component提供自己的道具类型,道具将是普通对象,因为它默认为P = {}。 您会收到错误,因为您的按钮组件期望 {} 作为其 prop,但您正在传递 { onClick: (event: MouseEvent) => void }。 可能是 vscode 配置错误?我通常在 React 中编码。 可能它与 vscode 无关,因为它内置了对 typescript 的支持,这意味着如果它安装在您的 package.json 中并且具有 tsconfig.json,您不需要任何扩展即可使用 typescript。 Solid 组件的类型签名与 React 的不同。用 React 的术语来说,Solid 只有函数组件,并且不会将状态传递给其子组件,因此 Solid 的 S = {} 类型中没有 Component。

回答 1 投票 0

在我的角度中,复选框的行为很奇怪

我刚刚开始学习 Angular,并从本教程开始 https://www.youtube.com/watch?v=JWhRMyyF7nc (我在第 2 节末尾。我尝试遵循从 Angular 17 开始的所有内容并将其更改为 Angular 17。布...

回答 1 投票 0

Eslint Typescript“无隐式任何”规则

我正在使用 eslint 设置一个新的打字稿项目。我正在尝试正确设置 eslint 规则,以便 tsc 命令运行时不会出现错误。我有“noImplicitAny”的问题......

回答 2 投票 0

打字稿问题和减速器状态不会增加点击时的使用。类型“UserContextType | ”上不存在属性“状态和调度”空'

我对带有反应的打字稿很陌生,尝试了很多东西但不起作用。状态不起作用并出现打字稿错误属性“状态和调度”在类型“UserContextType |”上不存在...

回答 1 投票 0

当我从 Typescript 中的 createEntityAdapter 获取选择器时出现错误

在开发一个简单的宠物项目时,我遇到了一个错误,但不知道如何修复它。 我是 Typescript 的新手,从消息错误判断错误是在 TS 中。 错误消息出现在...之后

回答 4 投票 0

调用子组件React Native(TypeScript)之前传入API数据

我正在尝试在父组件中进行 API 调用并将该数据传递给子组件,但我认为子组件在 API 调用完成之前就已渲染并且我正在接收

回答 1 投票 0

如何将可空类型转换为不可空类型(在打字稿中)?

我想将可空类型转换为不可空类型。 例如,如果我有这样的类型: const 类型 A = {b: "xyz"} |无效的 然后我想提取: {b:"xyz"} 通过做...

回答 2 投票 0

使用 TypeScript 强制对象中的元组是对象中另一个元组的子集?

我有一个函数,它接受带有查询参数的对象。下面是查询参数的简化示例。我想确保 sortBy 中的任何值都存在于字段中。我可以在运行时检查这个...

回答 1 投票 0

`import type` 或启用 `@typescript-eslint/consistent-type-imports` eslint 规则有缺点吗?

我最近遇到了一个问题,通过使用导入类型 TypeScript 功能而不是仅仅导入来修复,然后发现有一个 @typescript-eslint/consistent-type-imports eslint 规则...

回答 1 投票 0

如何在 tsup/typescript 中指定所有文件到根目录的入口点?

我正在使用 TypeScript 和 tsup 构建工具来进行打字稿捆绑。我需要将组件文件夹内的所有文件夹和文件指定为根目录。 源代码/ 成分/ 卡片/ 卡...

回答 1 投票 0

对象可能为“null”:TypeScript、React useRef 和 Formik innerRef

在我使用 Formik 的 React/TypeScript 应用程序中,我收到错误 对象可能为“空”。 TS2531 125 | 125 > 126 | 在我使用 Formik 的 React/TypeScript 应用程序中,我收到错误 Object is possibly 'null'. TS2531 125 | <Modal.Footer> > 126 | <Button variant="primary" type="submit" form="nicknameForm" disabled={!(formRef.current.isValid && formRef.current.dirty)}>Apply</Button> | ^ 127 | </Modal.Footer> 128 | </Modal> 129 | ) 尝试将 formRef.current.isValid 更改为 formRef!.current.isValid 并将 formRef.current.dirty 更改为 formRef!.current.dirty,但错误仍然存在。 为什么会这样,我们该如何修复这个错误?谢谢! import React, { useState, useEffect, useRef } from 'react'; import { Button, Modal, Form } from 'react-bootstrap'; import { Formik } from 'formik'; interface IModal { show: boolean; handleClose: () => void; } export function NicknameModal({show, handleClose}: IModal) { const formRef = useRef(null); return ( <Modal show={show} onHide={handleClose}> <Modal.Header closeButton> <Modal.Title>My Title</Modal.Title> </Modal.Header> <Modal.Body> <Formik initialValues={{ nickname: '', }} innerRef={formRef} onSubmit={( values, { setSubmitting } ) => { setSubmitting(true); handleClose(); setSubmitting(false); }} > {({values, errors, touched, handleChange, handleBlur, handleSubmit, isSubmitting, setFieldValue }) => ( <Form id="nicknameForm" onSubmit={handleSubmit}> <Form.Group controlId="formNickname"> <Form.Label>Nickname</Form.Label> <Form.Control type="text" name="nickname" onChange={handleChange} onBlur={handleBlur} value={values.nickname} /> </Form.Group> </Form> )} </Formik> </Modal.Body> <Modal.Footer> <Button variant="primary" type="submit" disabled={!(formRef.current.isValid && formRef.current.dirty)} form="nicknameForm">Apply</Button> </Modal.Footer> </Modal> ) } 更新: 如果将 const formRef = useRef(null); 更改为 const formRef = useRef();,我们现在会遇到不同的错误: Type 'MutableRefObject<undefined>' is not assignable to type '((instance: FormikProps<{ nickname: string; }> | null) => void) & MutableRefObject<undefined>'. Type 'MutableRefObject<undefined>' is not assignable to type '(instance: FormikProps<{ nickname: string; }> | null) => void'. Type 'MutableRefObject<undefined>' provides no match for the signature '(instance: FormikProps<{ nickname: string; }> | null): void'. TS2322 71 | nickName: '', 72 | }} > 73 | innerRef={formRef} | ^ 74 | onSubmit={( 75 | values: Values, 76 | { setSubmitting }: FormikHelpers<Values> 您需要设置 useRef 的类型,其中 FormValues 是您的表单值 type FormValues = {}; useRef<FormikProps<FormValues>>(null); https://github.com/formium/formik/issues/2600#issuecomment-693479057 尝试: import { FormikProps } from "formik"; const formRef = useRef<FormikProps<any>>(null); 首先,您需要为Formik初始值定义一个类型: interface HelpFormInitialValues { destination_city: string; cell_phone: string; } const initialValues: FormnameInitialValues = { cell_phone: "", destination_city: "", }; 然后为 ref 状态定义一个表单类型,并将表单初始值类型设置为它: import { FormikProps } from "formik"; const formikRef = useRef<FormikProps<HelpFormInitialValues>>(null); 现在您可以在 Formik 状态下使用 ref 的所有属性,而不会出现任何 typescript 错误,并且还可以获得自动完成的好处。 if (formikRef.current) formikRef.current.resetForm(); if (formikRef.current) formikRef.current.isValid();

回答 3 投票 0

为什么有些库会公开执行相同操作的方法,但每个方法都在同步/异步上下文中?

一些库公开了两种本质上做同样事情的方法,但其中一个在异步上下文中运行,另一个在同步上下文中运行。 一些示例是:从 fs/promises 取消链接和 unlinkSyn...

回答 1 投票 0

测试某个项目以不同的时间间隔出现 - Cypress

我想问是否有办法可以测试某个项目是否出现在应用程序中。 例如,我可能点击了一个按钮,但 30 分钟或 1 小时或 1 分钟后,我收到一条通知,表明我的物品...

回答 1 投票 0

“const 声明中缺少初始化程序。”反应错误

我的反应类有问题,它说我在 const 声明中缺少初始值设定项。谷歌搜索后我不知道如何解决它。 这是我的班级 导入 React, { useEffect, useState }

回答 3 投票 0

无法使用主题订阅更改角度组件中的类字段

从 '@angular/core' 导入 { Component, OnInit }; 从 '../Service/authDataService' 导入 { AuthDataService }; 从“rxjs”导入{map}; 从 '../Model/userModel' 导入 { User }; 导入 {

回答 1 投票 0

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