javascript - Gatsby:单击路由中的 anchor 元素会导致重新渲染

标签 javascript reactjs gatsby

我设置了一个最小的 Gatsby 页面来测试 Gatsby 何时重新渲染,我发现只要点击一个常规的路由中(哈希) anchor 链接,就会导致重新渲染。

这是为什么呢?有什么办法可以预防吗?

这是一个示例页面:

const SomePage = props => {
  console.log('RE-RENDERING PAGE');
  return (
    <>
      <a href="#foo">Link that should not fire re-render</a>;
    </>
  );
};

最佳答案

import { Link } from "gatsby"

const SomePage = props => {
  return (
    <Link to="#foo">Link that should not fire re-render</Link>;
  );
};

<Link>将使用适当的 href 渲染一个完全可访问的 anchor 标签.

关于javascript - Gatsby:单击路由中的 anchor 元素会导致重新渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56051736/

相关文章:

javascript - 在 JavaScript 中将 Base64 字符串分配给图像

javascript - 在 Javascript 函数中嵌套 jQuery 以从显示 :None 淡入 Div

javascript - 如何使用包含凭据的提取和 POST 请求发送数据?

javascript - 我应该绝对避免将 useState 与 redux 一起使用吗?

url - 如何为具有多个域及其内容的 Gatsby 网站提供服务?

javascript - 添加选项以在 JavaScript 中使用对象的键和值进行选择?

javascript - 如何在我的 js 文件中引入一些 npm 模块

javascript - React 错误 - 未捕获的不变违规 : Element type is invalid

npm - '模块构建失败 : Error: Couldn't find preset "es2015" relative to directory' from newly created gatsby project

javascript - 如何在 gatsby 中添加外部 Javascript?