Avatar ·

React 和 TypeScript 中 props children 的数据类型是什么?

大家好!我最近开始学习 TypeScript 与 React,遇到了一个令人困惑的情况。我正在创建一个包装组件,它应该接收子元素。在普通的 JavaScript 中,我只需写 `props.children` 就能正常工作。但在 TypeScript 中,我需要指定类型,我不明白应该为 `children` 指定什么类型。 以下是我的代码示例: ```tsx interface CardProps { title: string; children: ???; // 这里写什么? } function Card({ title, children }: CardProps) { return (

{title}

{children}
); } ``` 我尝试过写 `children: any`,但这不太好,会丢失类型化。我试过 `children: ReactNode`——似乎能工作,但我不确定是否正确。我还看到有人使用 `ReactChild` 或 `ReactElement`。有什么区别?如果我希望组件只接收一个子元素呢?或者反过来?