【发布时间】:2019-12-21 01:02:52
【问题描述】:
我目前正在将一个大项目切换到 TypeScript。我很新,不习惯。
所以,使用@reach/router,我有以下路由:
import { Router } from '@reach/router'
export default () => (
<main id='container'>
<div>
<Error>
<Router>
<Sign path='sign/*'/>
<Dashboard path='/'/>
</Router>
</Error>
</div>
</main>
)
Sign 定义如下:
import { Router, Link, Redirect, RouteComponentProps } from '@reach/router'
interface DefaultProps extends RouteComponentProps {
'*': string
}
export default ({ '*': mode }: DefaultProps) => {
return (
<div id='sign'>
<Router className={cn({ signup: mode === 'up' })}>
// ...other routes
</Router>
</div>
)
}
我收到以下错误:
Property ''*'' is missing in type '{ path: string; }' but required in type 'DefaultProps'. TS2741
29 | <Error>
30 | <Router>
> 31 | <Sign path='sign/*'/>
| ^
有什么问题?
【问题讨论】:
-
您有没有找到解决方法?我刚刚使用
@reach/router将我们的路线转换为 TS。无论我如何处理,都会弹出相同的 TS 错误。
标签: reactjs typescript reach-router