# 如果修复错误"组件不能用作JSX组件",它的返回类型"元素[]"不是react TS的有效JSX元素

修复错误"组件不能用作JSX组件,它的返回类型Element[] is not valid JSX element"对于React TypeScript,我们需要确保我们的组件返回单个根元素

function Todos():JSX.Element { // JSX.Element
    return (
        <>
            {
                todos.map(todo => {
                    <li>{todo.task}</li>
                })
            }
        </>
    )
}

将我们的项目数组放入片段中,以便可以编译组件。

我们调用todos.map来渲染一个li元素的数组,所以我们需要用一个片段来包装他们。

# 结论

修复错误"组件不能用作JSX组件。它的返回类型「Element[]」is not valid JSX element"对于React TypeScript,我们需要确保我们的组件返回单个根元素

# ‘App‘ cannot be used as a JSX component. Its return type ‘Element[]‘ is not a valid JSX element.

解决:把函数组件App的返回值改写成JSX元素类型的

function App():JSX.Element {
    const nameArray:string[] = ['Bob', 'Jack', 'Mary'];
    return (
        <div>
        {
            nameArray.map(name: string => {
                return (
                    <div>{name}</div>
                )
            })
        }
        </div>
    )
}