我正在Gatsby网站上工作。有一个侧面导航树可导航到Markdown文件支持的所有文章(使用gatsby-transformer-remark
)。为了保持导航到不同页面时展开的树节点的状态,我在导航树组件中的navigate
调用中包含了一些状态:
navigate(node.href, {
state: {
expandedNodes
}
});
这很好。进入下一页时,树的状态将得到维护。
但是,我的问题是当我想从一篇Markdown文章链接到另一篇文章时。当我单击链接时,它会导航到正确的页面,但是树的状态会丢失。
有什么办法可以使状态传递到Markdown文件中的链接?
答案 0 :(得分:1)
我也在寻找解决类似问题的方法。我发现gatsby插件gatsby-plugin-catch-links
保持了应用程序(包括树)的状态,因为它“捕获”了markdownn文件中找到的链接,并使用Gatsby提供的Link组件而不是“ a”包装它们HTML标记。
https://www.gatsbyjs.org/packages/gatsby-plugin-catch-links/