Повторно используйте одни и те же пользовательские маршруты в разделах «/» (UserLayout) и «/admin» (AdminLayout) без дубJavascript

Форум по Javascript
Ответить
Anonymous
 Повторно используйте одни и те же пользовательские маршруты в разделах «/» (UserLayout) и «/admin» (AdminLayout) без дуб

Сообщение Anonymous »

Мне нужно определить пользовательские страницы (Home, Cows, Reports, …) один раз и сделать их доступными для AppUser + Admin в разделе "/" с помощью UserLayout, а также доступными для администратора в разделе "/admin/user/*", но отображаемых внутри AdminLayout.
Когда я пытаюсь повторно использовать тот же массив маршрутов в обоих местах я иногда получаю UserLayout, отображающий "/admin/user/", или конфликты совпадений из-за абсолютных и относительных путей. Я ищу идиоматический шаблон для монтирования одных и тех же относительных дочерних маршрутов под двумя родительскими элементами (два макета) без дублирования и утечек макета.
Я монтировал страницы пользователя только под "/" внутри UserLayout, защищенные для обеих ролей ( + Администратор). Я смонтировал страницы только для администратора под "/admin/*" внутри AdminLayout, защищенные только для администратора.
Маршрутизатор (что я сделал):
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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»