我目前正在将一个大项目切换到 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/*'/>
| ^
有什么问题?