![](/img/trans.png)
[英]Property 'key' does not exist on type 'boolean | ReactChild | ReactFragment | ReactPortal'
[英]children.toArray() - TS2339: Property 'key' does not exist on type 'ReactChild | ReactFragment | ReactPortal'... - React Typescript
我正在創建一個 TypeScript 組件/包裝器,在每個孩子之間添加一個分隔符:
import React, { FC, Children } from 'react'
const DividedChildren: FC = ({ children }) => {
return (
<div>
{Children.toArray(children).map((node, index) => {
if (index === 0) return node
return (
<Fragment key={node.key}> // TS Error, but code works fine
<div className="divider" />
{node}
</Fragment>
)
})}
</div>
)
但是,當我嘗試將孩子的key
移動到他的新容器中時,我收到了 TypeScript 錯誤:
TS2339: Property 'key' does not exist on type 'ReactChild | ReactFragment | ReactPortal'. Property 'key' does not exist on type 'string'.
我設法通過將node
轉換為ReactElement
類型來解決這個特定錯誤。
Children.toArray(children).map((node: React.ReactElement, index) => { //...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.