关于React组件类型的问题

const Demo = (props)=>{
    return [
        <Foo/>,
        <Bar/>
    ]
}

这样一个组件怎么用typescript重写呢?
尝试写成

interface Props{
}
const Demo:React.FunctionComponent<Props> = (props)=>{}

或者

const Demo:React.ReactElement

或者

const Demo:React.Component

都会报类型错误.
写成下面这种是可以的

const Demo:(props:Props)=>React.ReactNode = (props)=>{
    return [
        <Foo/>
        <Bar/>
    ]
}

但是这种的在使用Demo组件时又报错

Its return type 'ReactNode' is not a valid JSX element.

我的问题是:如果一个函数式组件返回一个没有rootElement的jsx,用ts应该怎么写?

又自问自答了

阅读 3.2k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题