Я бы хотел отобразить некоторые из моих маршрутов в своем общедоступном макете и некоторые другие маршруты в моем личном макете, есть ли чистый способ сделать это?
Пример, который, очевидно, не работает, но я надеюсь, что примерно то, что я ищу:
<Router>
<PublicLayout>
<Switch>
<Route exact path="/" component={HomePage} />
<Route exact path="/about" component={AboutPage} />
</Switch>
</PublicLayout>
<PrivateLayout>
<Switch>
<Route exact path="/profile" component={ProfilePage} />
<Route exact path="/dashboard" component={DashboardPage} />
</Switch>
</PrivateLayout>
</Router>
Я бы хотел, чтобы макет переключался на определенные маршруты, как мне это сделать с новым маршрутизатором?
Вложенные маршруты больше не работают и дают мне эту ошибку:
You should not use <Route component> and <Route children> in the same route; <Route children> will be ignored
Изменить: наличие макетов, охватывающих целые группы маршрутов, также означает, что эти макеты отображаются только один раз, пока вы остаетесь в одной и той же частной/общедоступной группе маршрутов. Это очень важно, если ваш макет должен что-то извлечь из вашего сервера, например, это произойдет при каждой смене страницы, если вы обернете каждую страницу макетом.