私は現在、大きなプロジェクトを 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/*'/>
| ^
問題は何ですか?