@zayalexnick

Как правильно сделать маршрутизацию react-router-dom?

Есть 2 контейнера в App.jsx
<Router>
    <Switch>
        <Route exact path="/" component={Main} />
        <Route path="/auth" component={Auth} />
    </Switch>
</Router>


В Main.jsx
<main>
    <Layout>
        <Sidebar />
        <Switch>
             <Route path="/rigs" render={() => <h1>hello</h1>} />
        </Switch>
    </Layout>
 </main>


То есть мне нужно, чтобы Sidebar отображался везде, кроме /auth/*. При переходе на rigs пусто. Что я сделал не так?
  • Вопрос задан
  • 173 просмотра
Решения вопроса 1
rockon404
@rockon404 Куратор тега React
Frontend Developer
У вас у корневого маршрута стоит свойство exact, это значит, что переход на него будет только при точном совпадении пути с /. По пути /rigs компонент Main отрендерен не будет.
Решить проблему можно так:
<Switch>
  <Route path="/auth" component={Auth} />
  <Route path="/" component={Main} />
</Switch>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы