Я создаю приложение, которое имеет 2 родительских макета (Public.js и Main.js), и они находятся в маршрутизаторе (BrowserRouter) и коммутаторе.Я могу отлично сопоставить все публичные маршруты, но все, что в общедоступных, не совпадает, и общедоступный шаблон остается.
Я пробовал пару способов с одинаковым результатом:
V1 Маршруты:
...
<Router>
<Switch>
<Public>
<Route exact path='/' component={Home} />
<Route path='/login' component={Login} />
<Route path='/register' component={Register} />
</Public>
<Main>
<Route path='/dashboard' component={Dashboard} />
<Route path='/file/records' component={Records} />
</Main>
<Route component={NoMatch} />
</Switch>
</Router>
...
V1: Public.js
...
<div className="container-fluid">
{ this.props.children }
</div>
...
V1: Main.js
...
<main className="bmd-layout-content">
<div className="container-fluid p-0">
{ this.props.children }
</div>
</main>
...
V2 Маршруты:
...
<Router>
<Switch>
<Public />
<Main />
<Route component={NoMatch} />
</Switch>
</Router>
...
V2 Public:
...
<div className="container-fluid">
<Route exact path='/' component={Home} />
<Route path='/login' component={Login} />
<Route path='/register' component={Register} />
</div>
...
V2 Main:
...
<main className="bmd-layout-content">
<div className="container-fluid p-0">
<Route path='/dashboard' component={Dashboard} />
<Route path='/file/records' component={Records} />
</div>
</main>
...
Любойидеи?