React 和 TypeScript 中 props children 的数据类型是什么?
大家好!我最近开始学习 TypeScript 与 React,遇到了一个令人困惑的情况。我正在创建一个包装组件,它应该接收子元素。在普通的 JavaScript 中,我只需写 `props.children` 就能正常工作。但在 TypeScript 中,我需要指定类型,我不明白应该为 `children` 指定什么类型。
以下是我的代码示例:
```tsx
interface CardProps {
title: string;
children: ???; // 这里写什么?
}
function Card({ title, children }: CardProps) {
return (
);
}
```
我尝试过写 `children: any`,但这不太好,会丢失类型化。我试过 `children: ReactNode`——似乎能工作,但我不确定是否正确。我还看到有人使用 `ReactChild` 或 `ReactElement`。有什么区别?如果我希望组件只接收一个子元素呢?或者反过来?
{title}
{children}