簡體   English   中英

React/TypeScript:專門為組件輸入 props.children

[英]React/TypeScript: Specifically type props.children to component

假設我們有一個渲染props.children的組件Foo和另一個組件Bar 兩個模塊都導出一個 props 接口。

有沒有辦法強制Foo的孩子只能Bar類型?

理想情況下,我們可以在構建時使用 TypeScript 來完成此任務。

例子:

import { createElement, FC, ReactNode } from 'react';
import { Bar, BarProps } from '../Bar';

export interface FooProps {
  children?: ReactNode; // this works
  // children?: ReactNode<BarProps>; // nope
  // children?: Bar; // nope
}

export const Foo: FC<FooProps> = (props) => {
  return (
    <div>
      {props.children}
    </div>
  );
};

注意:我們沒有使用 PropTypes

試試這個(參考

export interface FooProps {
  children?: React.ReactElement<BarProps> | React.ReactElement<BarProps>[]
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM