1

私は現在、大きなプロジェクトを 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/*'/>
       |            ^

問題は何ですか?

4

2 に答える 2