react怎样指定传入的属性必须是某个类型的组件

ParentChild两个组件,我想指定Parentchildren只能是Child,而不能是其它的元素。
下面ParentProps.children的类型为ReactElement<ChildProps>[]也不能实现,传入非Child的元素组件也不报错。

这个应该怎么实现?

type ChildProps = {
    name: string
}
const Child:FC<ChildProps> = ({name}) => {
    return <div>{name}</div>
}

type ParentProps = {
    children: ReactElement<ChildProps>[] //怎样指定children只能是Child
}
const Parent:FC<ParentProps> = ({children}) =>{
    return <div>{children}</div>
}


const App = () => {
/*
    return (
        <Parent>
            <span>不是Child</span>
        </Parent>
    )
*/
    return (
        <Parent>
            <Child name='abc123' />
            <Child name='xyz456' />
        </Parent>
    )
}
阅读 1.6k
1 个回答
新手上路,请多包涵

父组件不用FC试试,用普通的函数式组件

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题