类型“Element[]”缺少类型“ReactElement<any, any>”中的以下属性:type、props、key

问题描述 投票:0回答:1

我收到以下错误

TS2786:'Letters' 不能用作 JSX 组件。 它的返回类型“Element[]”不是有效的 JSX 元素。 类型“Element[]”缺少类型“ReactElement”中的以下属性:type、props、key

我不明白

// Letters.tsx
import React from 'react';

const Letters = () => {
    const _renderletters = ():JSX.Element[] => {
        return ["a", "b"].map((letter: string, index:number):JSX.Element => {
            return <p key={index}>{letter}</p>
        })
    }
    return _renderletters()
}

export default Letters;


// UseLetters.tsx
import React from 'react'
import Letters from "./Letters";

const UseLetters = () => {
    return <Letters /> // <- this is highlighted with the error
}

export default UseLetters;

为什么会这样?

reactjs typescript react-typescript
1个回答
0
投票

我已经瞎了。这

// Letters.tsx
import React from 'react';

const Letters = () => {
    const _renderletters = ():JSX.Element[] => {
        return ["a", "b"].map((letter: string, index:number):JSX.Element => {
            return <p key={index}>{letter}</p>
        })
    }
    return _renderletters()
}

export default Letters;

当前返回一个

array
,它必须被包装成某种东西,即 Fragment

  return <>{_renderletters()}</>
© www.soinside.com 2019 - 2024. All rights reserved.