记录最近在用ts写react遇到的一个问题:
代码如下:

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

然后报错:
‘App’ cannot be used as a JSX component. Its return type ‘Element[]’ is not a valid JSX element.
在这里插入图片描述

解决办法1:把函数组件App的返回值设置为any类型即可解决。

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

解决办法2:把函数组件App的返回值改写成JSX元素类型的。
代码如下:

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

运行结果:
在这里插入图片描述

GitHub 加速计划 / eleme / element
54.06 K
14.63 K
下载
A Vue.js 2.0 UI Toolkit for Web
最近提交(Master分支:3 个月前 )
c345bb45 7 个月前
a07f3a59 * Update transition.md * Update table.md * Update transition.md * Update table.md * Update transition.md * Update table.md * Update table.md * Update transition.md * Update popover.md 7 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐