Несколько параметров с React Router изменяют URL, но не компонент - PullRequest
0 голосов
/ 01 апреля 2020

Я хочу, чтобы после нажатия кнопки ссылки она перенаправляла меня на другую страницу с полным URL-адресом, например -> localhost: 3001 / companies / name / forms

Но она никуда не перенаправляется, только меняйте URL-адреса каждый время, когда я нажимаю .. как -> localhost: 3001 / companies / name / name / name / forms

<BrowserRouter>
...
<Switch>
  ...
  <Route path='/companies' exact component={CompanyList}></Route>
  <Route 
     path='/companies/:slug' 
     render={(props) => <CompanyDetails {...props} isAuthed={true} />}
   />
  <Route path='companies/:slug/forms' exact component={Forms}></Route>
<Switch>
...
</BrowserRouter>

И ссылка на путь со страницы CompanyDetails (компонент)

<Button type="button" className="btn btn-secondary">
      <Link to={`${this.props.match.params.slug}/forms`}>
         Create&nbsp; 
         <i className="fa fa-arrow-right"></i>
      </Link>
</Button>

Есть предложения?

1 Ответ

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

Попробуйте изменить порядок вашего маршрута, а также добавьте exact

также в вашем пути к коду = 'companies /: slug / forms' отсутствует /

<Route exact path='/companies/:slug/forms' exact component={Forms}></Route>      
<Route 
  exact
  path='/companies/:slug' 
  render={(props) => <CompanyDetails {...props} isAuthed={true} />}
/>

Если выше не работает, попробуйте добавить / к вашей ссылке на странице CompanyDetails

<Link to={`/${this.props.match.params.slug}/forms`}>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...