Typescript返回一个函数,该函数返回具有类型约束的组件

Nicolas S.Xu

这是我的代码,但不会通过打字稿验证

import * as React from "react";

export function makeWrapperFn<P, C extends React.ComponentType >(Comp: C, baseProps = {}  ) {
  return (props: Partial<P> = {} ) => {
    // I want this returned function can override the props
    return (<Comp {...baseProps} {...(props)} />);
    // Comp is problem here
  };
}

错误消息是:

Type 'Partial<P>' is not assignable to type 'IntrinsicAttributes & LibraryManagedAttributes<C, { children?: ReactNode; }>'.
  Type 'Partial<P>' is not assignable to type 'LibraryManagedAttributes<C, { children?: ReactNode; }>'.ts(2322)

那么,如何使这种包装器函数制造商具有Typescript约束呢?

约瑟夫船长

我的评论中的答案非常相似。

但是,有一个区别-没有Partial道具。

因此,我决定回答,随时将其标记为重复。

import * as React from "react";

// If You want to use Partial, please use Partial also in type of Comp

export function makeWrapperFn<P extends object>(Comp: React.ComponentType<Partial<P>>, baseProps = {}  ) {
  return (props: Partial<P>) => {
    // I want this returned function can override the props
    return (<Comp {...baseProps} {...(props)} />);
    // Comp is problem here
  };
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Typescript函数,该函数从具有正确类型的数组中返回一项

来自分类Dev

编写一个递归函数,该函数返回具有最长连续序列的数字

来自分类Dev

需要制作一个函数,该函数返回一个基于int的char参数具有更多大写字母的int

来自分类Dev

编写一个Scala函数,该函数在调用时返回一个函数

来自分类Dev

是否可以在Haskell中创建一个函数,该函数返回数据类型的构造函数列表?

来自分类Dev

是否可以在Haskell中创建一个函数,该函数返回数据类型的构造函数列表?

来自分类Dev

创建一个模板函数,该函数根据模板参数类型的条件返回不同的元组类型

来自分类Dev

使用高阶组件的mapState函数遇到编译错误,该函数返回对象内的一个对象

来自分类Dev

javaScript .bind() 不会返回一个新函数,该函数在调用时将具有等于我传递的 arg 的“this”

来自分类Dev

如何在Scala中定义函数,该函数返回一个函数,该函数本身返回一个函数

来自分类Dev

承诺`then`,该函数不返回任何值,而函数返回另一个诺言

来自分类Dev

如何制作一个以函数作为参数并返回该函数的修改版本的函数?

来自分类Dev

创建一个 get 函数,该函数在使用 getchar 函数按下时返回 char*

来自分类Dev

写一个返回堆栈的函数,该函数包含小于给定数字的所有元素,并且顺序相同?

来自分类Dev

矩阵:在MATLAB中编写一个函数,该函数返回满足以下属性的所有正整数

来自分类Dev

在Swift中声明一个函数,该函数返回带有通用T.Type的闭包

来自分类Dev

尝试从一个函数返回一个数据集,该函数从两个函数打印

来自分类Dev

有没有一种方法可以执行VLookup或类似的函数,该函数将返回最后一个但一个值?

来自分类Dev

如何创建一个函数,该函数创建一个不断返回对象键的函数

来自分类Dev

使用泛型创建一个函数,该函数将在Swift中返回另一个函数

来自分类Dev

开玩笑地对一个函数进行单元测试,该函数调用一个返回Promise的函数

来自分类Dev

使用泛型创建一个函数,该函数将在Swift中返回另一个函数

来自分类Dev

Jest 单元测试一个函数,该函数调用一个返回承诺的函数

来自分类Dev

无法调用具有渲染函数的组件构造函数,该函数在 for 循环反应中返回 null

来自分类Dev

Typescript 成员函数返回另一个函数

来自分类Dev

Unity3D StartCoroutine调用一个函数,该函数何时返回?

来自分类Dev

如何在vba函数中打开另一个表单并返回该函数

来自分类Dev

朱莉娅:编写一个函数“参数值”,该函数返回参数值的字典

来自分类Dev

如何正确设置一个函数,该函数返回python中的年份差异?

Related 相关文章

  1. 1

    Typescript函数,该函数从具有正确类型的数组中返回一项

  2. 2

    编写一个递归函数,该函数返回具有最长连续序列的数字

  3. 3

    需要制作一个函数,该函数返回一个基于int的char参数具有更多大写字母的int

  4. 4

    编写一个Scala函数,该函数在调用时返回一个函数

  5. 5

    是否可以在Haskell中创建一个函数,该函数返回数据类型的构造函数列表?

  6. 6

    是否可以在Haskell中创建一个函数,该函数返回数据类型的构造函数列表?

  7. 7

    创建一个模板函数,该函数根据模板参数类型的条件返回不同的元组类型

  8. 8

    使用高阶组件的mapState函数遇到编译错误,该函数返回对象内的一个对象

  9. 9

    javaScript .bind() 不会返回一个新函数,该函数在调用时将具有等于我传递的 arg 的“this”

  10. 10

    如何在Scala中定义函数,该函数返回一个函数,该函数本身返回一个函数

  11. 11

    承诺`then`,该函数不返回任何值,而函数返回另一个诺言

  12. 12

    如何制作一个以函数作为参数并返回该函数的修改版本的函数?

  13. 13

    创建一个 get 函数,该函数在使用 getchar 函数按下时返回 char*

  14. 14

    写一个返回堆栈的函数,该函数包含小于给定数字的所有元素,并且顺序相同?

  15. 15

    矩阵:在MATLAB中编写一个函数,该函数返回满足以下属性的所有正整数

  16. 16

    在Swift中声明一个函数,该函数返回带有通用T.Type的闭包

  17. 17

    尝试从一个函数返回一个数据集,该函数从两个函数打印

  18. 18

    有没有一种方法可以执行VLookup或类似的函数,该函数将返回最后一个但一个值?

  19. 19

    如何创建一个函数,该函数创建一个不断返回对象键的函数

  20. 20

    使用泛型创建一个函数,该函数将在Swift中返回另一个函数

  21. 21

    开玩笑地对一个函数进行单元测试,该函数调用一个返回Promise的函数

  22. 22

    使用泛型创建一个函数,该函数将在Swift中返回另一个函数

  23. 23

    Jest 单元测试一个函数,该函数调用一个返回承诺的函数

  24. 24

    无法调用具有渲染函数的组件构造函数,该函数在 for 循环反应中返回 null

  25. 25

    Typescript 成员函数返回另一个函数

  26. 26

    Unity3D StartCoroutine调用一个函数,该函数何时返回?

  27. 27

    如何在vba函数中打开另一个表单并返回该函数

  28. 28

    朱莉娅:编写一个函数“参数值”,该函数返回参数值的字典

  29. 29

    如何正确设置一个函数,该函数返回python中的年份差异?

热门标签

归档