по умолчанию реагируют конфликты маршрутов с маршрутом с параметрами - PullRequest
0 голосов
/ 20 апреля 2020

мое приложение. js код

<Switch>
          <Route exact path='/' component={HomePage} />
          <Route exact path='/about' component={About} />
          <Route exact path='/careers' component={Careers} />
          <Route
            exact
            path='/solutions/standard'
            render={() => <Solutions solution='Standard' />}
          />
          <Route
            exact
            path='/solutions/custom'
            render={() => <Solutions solution='Custom' />}
          />
          <Route component={NotFound} />
          <Route
            exact
            path='/detail/:solution/:prod'
            component={Detail}
          ></Route>
          />
        </Switch>

, но когда я go в / detail / что-то / что-то, он рендерит компонент по умолчанию "not found" вместо рендеринга компонента "detail" и отправка 'solution' и 'prod' в качестве параметров

также для компонента Solution, вместо того, чтобы иметь один и тот же компонент только с разными реквизитами, как я могу указать параметр param, например:

<Route exact path='/solutions/:standard || custom' component={Solution} />

1 Ответ

1 голос
/ 20 апреля 2020

Для решений вы можете сделать что-то подобное также исключите (custom|standard), если вы хотите сопоставить другие параметры, как это ...

  <Route path='/solutions/:path' component={Solutions} />

Для получения подробного маршрута переместите сопоставитель всех маршрутов <Route component={NotFound} /> в последнюю позицию в <Switch>. Это обеспечит совпадение всех других маршрутов перед возвратом компонента NotFound.

  <Switch>
    // All other routes
    <Route component={NotFound} />
  </Switch>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...