当前位置: 首页 > 知识库问答 >
问题:

前端 - 泛型嵌套`<PropsWithChildren<CreateFormProps>>` 是否指的是泛型:<PropsWithChildren> 实现了 接口:CreateFormProps?

韩博厚
2023-05-08

这里有一个示例代码,没有看明白,

import { Modal } from 'antd';
import React, { PropsWithChildren } from 'react';

interface CreateFormProps {
  modalVisible: boolean;
  onCancel: () => void;
}

const CreateForm: React.FC<PropsWithChildren<CreateFormProps>> = (props) => {
  const { modalVisible, onCancel } = props;

  return (
    <Modal
      destroyOnClose
      title="新建"
      width={420}
      open={modalVisible}
      onCancel={() => onCancel()}
      footer={null}
    >
      {props.children}
    </Modal>
  );
};

export default CreateForm;

1、请问下,泛型嵌套<PropsWithChildren<CreateFormProps>>,这里的<CreateFormProps> 是一个interface,可以是type吗?

2、<PropsWithChildren<CreateFormProps>> 代表什么意思呢?是否代表泛型:<PropsWithChildren> 实现了接口interface CreateFormProps?

共有1个答案

胡俊弼
2023-05-08

1、可以
2、泛型的概念你可以类比于函数参数,当我定义一个interface Test<T>就好比定义了一个函数function Test(T),这里的T只是一个占位符,实际是什么类型根据你使用时传入来决定,通过类比函数就好理解React.FC<PropsWithChildren<CreateFormProps>>,这里就好似是函数嵌套,PropsWithChildren支持传入一个泛型即CreateFormProps,而React.FC也支持传入一个泛型即PropsWithChildren<CreateFormProps>这个整体

 类似资料:
  • 问题内容: 所以我在Java中有这个课程: 在这个类中,我想知道T是否实现某些接口。 以下代码不起作用,但这是我要完成的工作的主意: 所以我想检查传递给Foo 的类是否具有其签名。 可能吗?怎么样? 问题答案: 奇怪的是,泛型也用于接口。1您将要使用: 这实际上是实现的要求, 而不是true / false check 。 为了进行真/假检查,请使用无限制的generics()并确保获得a,以便您

  • 问题内容: 我是Java泛型的新手,来自.NET世界,我习惯于编写这样的方法: 该方法接受通用类型的对象,并检查该对象是否实现通用接口的 特定 版本,在这种情况下为。 现在,在Java中,我可以执行以下操作: 但 Java并 没有 让我做 据我所知,由于类型擦除,通常在Java中,此类将由类对象处理,我们将执行以下操作: 但是由于我要检查的类型是通用接口,所以您不能这样做: 那么,如何在Java中

  • 编译时,此代码将产生以下+错误: 问题是访问中的类型T与列表中的T不相同。如何修复此编译问题?

  • 为什么叫“泛型模型”,请查看一些基本概念 Keras的泛型模型为Model,即广义的拥有输入和输出的模型,我们使用Model来初始化一个泛型模型 from keras.models import Model from keras.layers import Input, Dense a = Input(shape=(32,)) b = Dense(32)(a) model = Model(inp

  • 我正在尝试验证是否调用了具有以下签名的方法: 嵌套的参数化 Set 给我带来了困难。我可以让它使用 any() 匹配器正确验证,如下所示: 如Mockito:使用泛型参数进行验证中所述,尽管令人恼火的是,如果我直接静态导入Matchers,它不起作用。任意,并将其称为: 但是在这种情况下,anyMapOf(clazz,clazz)似乎是更合适的匹配器。既然你不会做Set.class,我不知道你会怎