Rém*_*ado 5 children key typescript reactjs
我正在创建一个 TypeScript 组件/包装器,在每个子组件之间添加一个分隔线:
\nimport React, { FC, Children } from \'react\'\n\nconst DividedChildren: FC = ({ children }) => {\n return (\n <div>\n {Children.toArray(children).map((node, index) => {\n if (index === 0) return node\n return (\n <Fragment key={node.key}> // TS Error, but code works fine\n <div className="divider" />\n {node}\n </Fragment>\n )\n })}\n </div>\n )\n
Run Code Online (Sandbox Code Playgroud)\nkey
但是,当我尝试将孩子移动到他的新容器中时,出现 TypeScript 错误:
\nTS2339: Property \'key\' does not exist on type \'ReactChild | ReactFragment | ReactPortal\'. \xc2\xa0\xc2\xa0Property \'key\' does not exist on type \'string\'.
node
我已经设法通过强制转换为类型来解决这个特定错误ReactElement
。
Children.toArray(children).map((node: React.ReactElement, index) => { //...
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1226 次 |
最近记录: |