关于react函数组件传children的疑问?-灵析社区

UX_siri

用的TypeScript。 我定义了一个函数组件:`MyView`: type Props = { children?: React.ReactNode; }; function MyView(props: Props) { const { children } = props; return {children}; } 可以正常使用: {sss} 为了看起简洁点,我将 `MyView` 稍微修改了一下: function MyView(children?: React.ReactNode) { return {children}; } 这个时候调用的地方就报错了: ![image.png](https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250103/a88f5449b6053a2f49b0b52e085121fc.png) 报错信息: > Type '{ children: Element; }' is not assignable to type 'IntrinsicAttributes > & ReactNode'. > Type '{ children: Element; }' is missing the following properties from type > 'ReactPortal': key, type, props 我懵逼了,这两种写法难道不是一样的吗?怎么就报错了?前端萌新理解不了,希望有经验的大佬可以指点一下。

阅读量:13

点赞量:0

问AI
这里引用一下官方文档的描述 -> "将 Props 传递给组件" (https://link.segmentfault.com/?enc=xU48dyuI7rPcsKT%2BAqq67A%3D%3D.dMIbJXXoJ%2BJsDASMXlwQMtboz8%2BCpeDHsrkJxMhToU0D2RMFzwgQphadWwEcIrPG6axxqy5J3d6ZNogaj%2F8C2g%3D%3D) "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241212/b55fb7dafffc7c7cfdee901456888a49.png) 函数组件的"参数列表"和普通函数还是有区别的,不是我们随意定义的,而是由 React 提供的一个对象,原因也很简单,函数组件最终是由 React 去调用的,"参数列表"的"定义权"在React而不在开发者