Мне интересно, возможно ли использовать вложенные маршруты внутри компонента компоновки Gatsby? Я знаю, что маршрутизатор React Reach поддерживает это, но я не совсем уверен, как заставить его работать в Gatsby ...
В настоящее время у меня есть компонент макета, который содержит заголовок моего сайта и боковое меню навигации. Каждая страница корректно загружается в тело макета.
Я пытаюсь создать интерфейс с вкладками на одной из моих страниц MDX.
Можно ли использовать вложенный маршрутизатор, вложенный Компонент макета или любой другой механизм, позволяющий избежать перезагрузки всего содержимого тела (включая вкладки) при смене страниц?
Я надеюсь, что смогу также определить подстраницы как MDX и ссылаться на них как на контент загрузить для каждой из вкладок без перезагрузки основного компонента макета или текущего содержимого страницы. Просто любопытно, если это возможно, или я должен попытаться использовать другой подход.
Текущая иерархия макетов
<Root>
/* AppLayout is static around ALL pages and contains header, navigation, and footer */
<AppLayout>
/* PageLayout is the wrapper around each MDX page content (which I want to contain the tabs) */
<PageLayout>
{MDX page content}
</PageLayout>
</AppLayout>
</Root>
В настоящее время <PageLayout>
перерисовывается, когда Я перехожу на другие страницы (даже при использовании компонента <Link>
), <AppLayout>
нет. Это имеет смысл для меня, потому что каждая страница должна заменить содержимое <AppLayout>
, но мне любопытно, есть ли способ реструктурировать это или использовать другой механизм для достижения этого.
I Я надеюсь, что <PageLayout>
будет содержать вкладки в своем содержимом, но не будет иметь остальную часть содержимого в этой указанной c странице, отрисовываемой повторно при переключении вкладок.