在React Route组件上键入错误

时间:2018-01-19 02:46:19

标签: reactjs typescript react-router

我试图使用路线路线组件但是它会引发以下错误:

  

[ts]输入' {路径:" /:短名称&#34 ;; component:typeof FirstComponent; }'   不能分配类型' IntrinsicAttributes&   IntrinsicClassAttributes& Readonly< {children?:ReactNode; }>   &安培; REA ...'

这是我的路线配置:

import { BrowserRouter as Router, Route, Link } from 'react-router-dom';

<Router>
    <Link to='/customer'></Link>
    <Route path='/:shortname' component={FirstComponent} />
</Router>

这些是我使用的版本:

"@types/react-router-dom": "^4.0.5"
"react-router-dom": "^4.1.1"

1 个答案:

答案 0 :(得分:2)

好吧,问题是<Router/>元素只接受单个子元素。虽然你的路由器的孩子是一系列Link&amp;路由。

尝试使用div或React.Fragment包裹您的链接和路线(在反应16.2 +后)

<Router>
  <React.Fragment>
    <Link to='/customer'></Link>
    <Route path='/:shortname' component={FirstComponent} />
  </React.Fragment>
</Router>