typing 相关问题

有关数据类型的问题。不要将此标签用于与在键盘上打字的物理行为相关的问题,因为这些问题几乎总是偏离主题。

使用泛型时,为什么我会在 VSCode 中收到 Pylance 错误““A*”类型的对象不可调用”?

我正在尝试在Python 3.11中编写一个泛型类,它应该能够使用不同的处理类(本例中的A或B)处理元素列表。我的目标是使用类型变量...

回答 1 投票 0

将 Prisma 交易传递到打字稿中的函数中

您好,我有以下问题。我有 prisma 交易,但我想将 prisma 交易客户端传递到如下函数中: ... prisma.$transaction(异步 (tx) => { 一些函数(...

回答 1 投票 0

Python 类型:与包装类型具有相同接口的通用类型

我想定义一种“包装器”通用类型,例如 MyType[T],以便它具有与包装类型相同的类型接口。 从输入导入 Generic、TypeVar T = TypeVar("...

回答 1 投票 0

TypeScript:类型定义的引用子类型(接口)

我在 TypScript 中使用以下类型: 接口练习数据{ 身份证号; 名称:字符串; 词汇 : { 来自:字符串; 到:字符串; }[]; } 现在我想

回答 4 投票 0

仅允许特定组件作为 React 和 Typescript 中的子组件

我只想允许特定组件作为子组件。例如,假设我有一个 Menu 组件,它应该只包含 MenuItem 作为子组件,如下所示: 我只想允许特定组件作为子组件。例如,假设我有一个菜单组件,它应该只包含 MenuItem 作为子组件,如下所示: <Menu> <MenuItem /> <MenuItem /> </Menu> 因此,当我尝试将另一个组件作为子组件时,我希望 Typescript 在 IDE 中抛出错误。有人警告我,我只能在孩子时期使用 MenuItem。例如在这种情况下: <Menu> <div>My item</div> <div>My item</div> </Menu> 此线程几乎相似,但不包含 TypeScript 解决方案。我想知道是否可以使用 TypeScript 类型和接口来解决这个问题。在我想象的世界中,它看起来像这样,但是类型检查当然不起作用,因为子组件具有 Element 类型: type MenuItemType = typeof MenuItem; interface IMenu { children: MenuItemType[]; } const MenuItem: React.FunctionComponent<IMenuItem> = ({ props }) => { return (...) } const Menu: React.FunctionComponent<IMenu> = ({ props }) => { return ( <nav> {props.children} </nav> ) } const App: React.FunctionComponent<IApp> = ({ props }) => { return ( <Menu> <MenuItem /> <MenuItem /> </Menu> ) } 有没有办法用 Typescript 来实现这一点?喜欢用仅与特定组件相关的东西来扩展 Element 类型吗? 或者确定子组件是特定组件的实例的好方法是什么?无需添加查看子组件 displayName 的条件。 为此,您需要从子组件(最好也是父组件)中提取 props 接口,并以这种方式使用它: interface ParentProps { children: ReactElement<ChildrenProps> | Array<ReactElement<ChildrenProps>>; } 所以在你的情况下它看起来像这样: interface IMenu { children: ReactElement<IMenuItem> | Array<ReactElement<IMenuItem>>; } const MenuItem: React.FunctionComponent<IMenuItem> = ({ props }) => { return (...) } const Menu: React.FunctionComponent<IMenu> = ({ props }) => { return ( <nav> {props.children} </nav> ) } 尽管有上述答案,但你不能对孩子这样做。您可以在组件的开发版本中执行运行时检查,但无法使用 TypeScript 类型执行此操作 — 至少目前还不能。 来自 TypeScript 问题 #18357: 现在除了在 ElementChildrenAttribute 命名空间内指定 JSX 之外,无法指定子代表示是什么。它与子项的 React 表示紧密结合,这意味着子项是 props 的一部分。这使得无法对具有单独存储子项的实现的子项启用类型检查,例如 https://github.com/dfilatov/vidom/wiki/Component-properties。 并请注意,它在 #21699 中被引用,基本上,围绕 ReactElement 的可能破坏性更改也可能使执行此操作成为可能。 现在,您所能做的就是运行时检查,或接受 props (或 props 数组)和可选的组件函数(在您的情况下,您知道它是 MenuItem)并在组件中创建元素。 还有一个问题是你是否应该这样做。为什么我不能编写一个返回 MenuItem 的组件,而不是直接使用 MenuItem? :-) 我一直在研究和记录,我可能刚刚找到了解决方案。 const childrenWithProps = React.Children.map(props.children, (child) => { console.log(child.type) if (React.isValidElement(child) && ((child.type as any)._payload.value.name === NavLinks.name)) { return cloneElement(child, { ref: menuRef }); } throw new Error(`Navbar solo puede recibir ${NavLinks.name} o NavbarIcons como children.`); }); 在 vscode 中,属性 _payload 无法从 child.type 访问,因此我将其设置为 any,这样 IDE 就不会抛出错误。

回答 3 投票 0

Python 类型:使用另一个协议作为参数的方法实现协议的具体类

我正在尝试正确输入以下示例: from __future__ 导入注释 从数据类导入数据类 从typing_extensions导入协议 @dataclass(冻结=真)

回答 1 投票 0

Kotlin 表示整数的类型的通用基类型?

Kotlin 是否提供了一种描述“整数”(例如 Int、Long 或 BigInteger)但不提供 Double 的方法? 在 Kotlin 中,就像在 Java 中一样,Number 作为所有数字类型的超类型,包括 flo...

回答 1 投票 0

Python 3.10 方法中使用装饰器的类型提示

我正在尝试使用typing.Concatenate 和typing.ParamSpec 来键入提示类的方法要使用的装饰器。装饰器仅接收标志,并且仅在类具有该标志时运行

回答 1 投票 0

mypy 根据第一个输入的参数规格推断函数的参数规格

我正在创建一个函数,它将充当类的工厂,它的外观如下: T = 类型变量(“T”) def app_factory(app: 类型[T], *args, **kwargs) -> T: ... 返回应用程序(*...

回答 1 投票 0

撇号符号 ' 现在位于其背面。仅在 Word (Macbook) 中。不是任何地方。如何解决这个问题?

请帮忙。 当我在Word文档(macbook,M1)中输入撇号**'**时,它现在仰面躺着,头朝右。在这里输入图像描述昨天我正在尝试...

回答 1 投票 0

使用 select 不返回整个对象时的 Prisma Typescript 打字

使用 Prisma 的好处是类型安全应用起来非常简单。 让我们举个例子,我有一个如下的用户模型: 模型用户{ id 字符串@...

回答 1 投票 0

在 TypeScript 中为函数的泛型类型变量分配正确的类型

我正在尝试输入名为“route”的函数。我在我的 Express 项目中使用它 const morph = (params: Function[]) => (req: Request) => params.map(f => f(req)) const applyTransformers = (

回答 1 投票 0

在 TypeScript 中使用通用类型(特定任务)

我正在尝试输入名为“route”的函数。我在我的 Express 项目中使用它 const morph = (params: Function[]) => (req: Request) => params.map(f => f(req)) const applyTransformers = (

回答 1 投票 0

泛型函数的条件 Python 类型

假设我有一个类A和一个派生类B: 从输入导入 Type, TypeVar A类: 类型字段:类型[int] = int B(A)类: 类型字段:类型[str] = str 我想要一个功能 T =

回答 0 投票 0

我可以@override下面的@overloaded Python函数吗?

PySide6 函数 QComboBox.addItem 是类型提示的,在 QtWidgets.pyi 中,如下所示: @超载 def addItem(self, 图标: Union[PySide6.QtGui.QIcon, PySide6.QtGui.QPixmap], 文本: str, userData: Any = ....

回答 1 投票 0

Pydantic constr 与 Field args

我想知道以下之间有什么区别: 从 pydantic 导入 BaseModel、Field 类人(基础模型): 名称:str = Field(..., min_length=1) 和: 从 pydantic 导入 BaseModel,构造

回答 3 投票 0

为什么子类上的属性返回与超类上相同属性一致的类型是不允许的

Foo 类: 酒吧:str 蝙蝠类(Foo): @财产 def bar(self) -> str: ... 鉴于上面的代码,我的类型检查器(mypy)提出了以下抱怨: 错误:“签名”...

回答 1 投票 0

具有特定形状和数据类型的 Numpy 类型

目前我正在尝试更多地使用 numpy 类型来使我的代码更清晰,但是我已经达到了目前无法覆盖的限制。 是否可以指定特定的形状以及...

回答 3 投票 0

如何向 Vue prop 添加 TS 输入

我有一个接收 prop 选项卡的 Vue 组件。这个道具应该遵循以下模式: [{ id: 字符串 标题:字符串 颜色:`#${字符串}` },{ id: 字符串 标题:字符串 颜色:`#${...

回答 1 投票 0

如何修改 Unity 3D 输入字段以支持 Windows 10 中的触摸键盘滑动和预测?

在我的 Windows 独立 Unity 3D 版本中,我遇到了输入字段问题。当尝试使用触摸键盘输入字符时,我一次只能输入一个字符。

回答 1 投票 0

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