javascript - Gatsby:将状态传递给 Markdown 文件中的链接?

标签 javascript reactjs gatsby

我正在开发一个 Gatsby 网站。有一个侧面导航树可以导航到 Markdown 文件支持的所有文章(使用 gatsby-transformer-remark)。为了维持导航到不同页面时展开的树节点的状态,我在导航树组件中包含了一些带有 navigate 调用的状态:

      navigate(node.href, {
        state: {
          expandedNodes
        }
      });

这很好用。当进入下一页时,树的状态被保持。

但是,我的问题是当我想从一篇 Markdown 文章链接到另一篇文章时。当我单击链接时,它会导航到正确的页面,但树的状态会丢失。

有什么方法可以将该状态传递到 Markdown 文件中的链接吗?

最佳答案

我也想解决与此类似的问题。我发现 gatsby 插件 gatsby-plugin-catch-links 维护应用程序的状态(包括树),因为它“捕获”markdownn 文件中找到的链接并用 Link 组件包装它们由 Gatsby 提供,而不是“a”HTML 标记。

https://www.gatsbyjs.org/packages/gatsby-plugin-catch-links/

关于javascript - Gatsby:将状态传递给 Markdown 文件中的链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55803204/

相关文章:

typescript - useStaticQuery : Invalid hook call. Hooks只能在函数组件体内调用

css - 在 gatsbyJS 中使用样式组件

reactjs - gatsby 中的静态文件图像路径

javascript - 非贪婪地隔 ionic 字符串?

reactjs - 如何使用带有 msal 身份验证的 React 应用程序删除 Chrome 中有关同一站点的警告

javascript - 在 react 中更改状态时不会重新渲染组件

javascript - 使用 React 将文本分割成行以实现动画目的

php - 单击任何一个链接时要禁用的一组链接

javascript - 如何为我的页面创建永久链接?

javascript - 由于未正确检测到怪癖模式,jQuery 1.10.2 的简单模式无法在 IE 中工作