将TypeScript React组件嵌套在另一个组件中

约旦

因此,我试图将TypeScript React组件嵌套在另一个组件中,但是它抱怨类型。似乎要我将所有道具添加到父界面中?

有没有一种方法可以不必在子组件接口中列出所有类型,又可以将类型添加到父组件接口中呢?

注意:我在以下示例中使用样式化组件

interface IField {
  children: React.ReactNode
}

export function Field({ children, htmlFor, label, required, ...props }: IField) {
  return (
    <FormField {...props}>
      <Label htmlFor={htmlFor} label={label} required={required}/>
      {children}
    </FormField>
  )
}

interface ILabel {
  htmlFor: string
  label: string
  required?: boolean
}

export function Label({ htmlFor, label, required }: ILabel) {
  return (
    <FormLabel htmlFor={htmlFor}>
      {label}
      {required && (
        <Required />
      )}
    </FormLabel>
  )
}

错误我得到:

Type '{}' is missing the following properties from type 'ILabel': htmlFor, label

感谢您的任何帮助!

j3ff

为了避免将属性从子接口添加回父组件接口,可以使用extends(请参阅TypeScript继承文档)。

之后,您可以通过在props子组件上使用{...props}deconstructor将父组件的传递子组件。

最后,如果您使用的是TypeScript,最好也使用React.FunctionComponent输入以避免手动输入children

您可以查看以下简化的工作示例:https :
//stackblitz.com/edit/react-stackoverflow-60228406

我试图在下面修改您的代码段...

import React from 'react';

interface IField extends ILabel {
}

export const Field: React.FunctionComponent<IField> = (props) => {
  return (
    <FormField>
      <Label {...props} />
      {props.children}
    </FormField>
  )
};

interface ILabel {
  htmlFor: string
  label: string
  required?: boolean
}

export const Label: React.FunctionComponent<ILabel> = (props) => {
  return (
    <FormLabel htmlFor={props.htmlFor}>
      {props.label}
      {props.required && (<Required />)}
    </FormLabel>
  )
};

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

React Native将Text组件添加到另一个Text组件中

来自分类Dev

React Native将Text组件添加到另一个Text组件中

来自分类常见问题

React.js:将一个组件包装到另一个组件中

来自分类Dev

React-如何将API数据从一个组件传递到另一个js文件中的另一个组件?

来自分类Dev

rxjs forkJoin将嵌套的Observable嵌套在另一个Observable中

来自分类Dev

将一个组件传递到props数组中的另一个组件

来自分类Dev

如何通过在React中的兄弟组件上单击事件将图像加载到另一个组件中

来自分类Dev

React-Native:如何将组件中的项目与另一个组件中的项目绑定?

来自分类Dev

如何将状态className变量传递给React中的另一个组件

来自分类Dev

将道具传递到React.js中的另一个组件

来自分类Dev

如何将表单输入字段传递给 React 中的另一个组件?

来自分类Dev

如何将一个React-Admin组件嵌入另一个组件中;多个管理组件

来自分类Dev

如何将值onClick从不同组件分配给React中的另一个组件

来自分类Dev

如何将组件名称从另一个组件的对象传递到React Router Dom中的Route?

来自分类Dev

如何将组件作为道具传递给 react js 中的另一个组件?

来自分类Dev

将一个组件嵌套到另一个组件中有什么用

来自分类Dev

将if / else嵌套在另一个if / else中

来自分类Dev

是否可以将“ find -exec”嵌套在另一个“ find -exec”中?

来自分类Dev

无法将div成功嵌套在另一个div中

来自分类Dev

如何使用反应形式将 formArray 嵌套在另一个 formArray 中

来自分类Dev

将道具从组件传递到React上的另一个组件

来自分类Dev

将一个React组件作为参数传递给另一个React组件

来自分类Dev

将内容从一个React组件注入到另一个onClick

来自分类Dev

React Native将一个组件插入另一个

来自分类Dev

React Native - 将数据从一个组件传递到另一个

来自分类Dev

将组件的引用传递给ReactJS中的另一个组件

来自分类Dev

将组件的数组数据获取到 Angular 6 中的另一个组件

来自分类Dev

将组件导入 angular 7 中的另一个组件时出错

来自分类Dev

是否可以将一个数据:URI嵌套在另一个数据中?

Related 相关文章

  1. 1

    React Native将Text组件添加到另一个Text组件中

  2. 2

    React Native将Text组件添加到另一个Text组件中

  3. 3

    React.js:将一个组件包装到另一个组件中

  4. 4

    React-如何将API数据从一个组件传递到另一个js文件中的另一个组件?

  5. 5

    rxjs forkJoin将嵌套的Observable嵌套在另一个Observable中

  6. 6

    将一个组件传递到props数组中的另一个组件

  7. 7

    如何通过在React中的兄弟组件上单击事件将图像加载到另一个组件中

  8. 8

    React-Native:如何将组件中的项目与另一个组件中的项目绑定?

  9. 9

    如何将状态className变量传递给React中的另一个组件

  10. 10

    将道具传递到React.js中的另一个组件

  11. 11

    如何将表单输入字段传递给 React 中的另一个组件?

  12. 12

    如何将一个React-Admin组件嵌入另一个组件中;多个管理组件

  13. 13

    如何将值onClick从不同组件分配给React中的另一个组件

  14. 14

    如何将组件名称从另一个组件的对象传递到React Router Dom中的Route?

  15. 15

    如何将组件作为道具传递给 react js 中的另一个组件?

  16. 16

    将一个组件嵌套到另一个组件中有什么用

  17. 17

    将if / else嵌套在另一个if / else中

  18. 18

    是否可以将“ find -exec”嵌套在另一个“ find -exec”中?

  19. 19

    无法将div成功嵌套在另一个div中

  20. 20

    如何使用反应形式将 formArray 嵌套在另一个 formArray 中

  21. 21

    将道具从组件传递到React上的另一个组件

  22. 22

    将一个React组件作为参数传递给另一个React组件

  23. 23

    将内容从一个React组件注入到另一个onClick

  24. 24

    React Native将一个组件插入另一个

  25. 25

    React Native - 将数据从一个组件传递到另一个

  26. 26

    将组件的引用传递给ReactJS中的另一个组件

  27. 27

    将组件的数组数据获取到 Angular 6 中的另一个组件

  28. 28

    将组件导入 angular 7 中的另一个组件时出错

  29. 29

    是否可以将一个数据:URI嵌套在另一个数据中?

热门标签

归档