ReactElement与ReactNode
- 子组件的
children为ReactNode类型,children可以提供多个子元素 - 子组件的
children为ReactElement类型,children只能有一个子元素 - 所以子组件的
children推荐使用ReactNode类型
...
export interface IProps {
children?: ReactNode
}
const ScrollView: FC<IProps> = function (props) {
const { children } = props
return (
<div className=" overflow-hidden relative">
{children}
</div>
)
}
- 如果
children为ReactElement类型报错,ReactNode类型不报错
<ScrollView>
<div>123</div>
<div>123</div>
</ScrollView>