Когда я пытаюсь повторно использовать тот же массив маршрутов в обоих местах я иногда получаю UserLayout, отображающий "/admin/user/", или конфликты совпадений из-за абсолютных и относительных путей. Я ищу идиоматический шаблон для монтирования одных и тех же относительных дочерних маршрутов под двумя родительскими элементами (два макета) без дублирования и утечек макета.
Я монтировал страницы пользователя только под "/" внутри UserLayout, защищенные для обеих ролей (
Код: Выделить всё
AppUserМаршрутизатор (что я сделал):
router.jsx (основное)
Код: Выделить всё
{
element: ,
children: [
{
path: "/",
element: ,
children: [
{
element: ,
children: [
{ path: "/", element: },
{ path: "/cows", element: },
// ...other user pages under "/"
],
},
],
},
{
path: "/admin",
element: ,
children: [
{
path: "/admin",
element: ,
children: [
{ path: "/admin/dashboard", element: },
// ...other admin-only pages under "/admin"
],
},
],
},
],
}
Когда администратор щелкает пользовательские страницы на боковой панели администратора, я хочу, чтобы эти страницы отображались внутри AdminLayout (чтобы оболочка администратора или боковая панель оставались видимыми), даже если одни и те же страницы также доступны по адресу "/" для обеих ролей.
Фактический результат:
Поскольку пользовательские страницы существуют только под "/", при переходе к ним отображается UserLayout, а не AdminLayout. Я ищу шаблон React-Router/React-Router-DOM v6 для монтирования одних и тех же пользовательских маршрутов в "/admin/user/*" (псевдоним), чтобы они отображались внутри AdminLayout—без дублирования определений маршрутов или нарушения защиты ролей.
Подробнее здесь: https://stackoverflow.com/questions/797 ... layout-wit
Мобильная версия