javascript - 有没有办法阻止 Gatsby 在单击没有 href 的元素时刷新页面?
问题描述
解决方案
据我所见,Gatsby 使用 jsx,它可能是从 babel 编译而来的(这意味着网站是使用虚拟 dom 动态设置的,即 React)
有两种方法。将 JS 注入到 Web App 运行或在 React 反编译虚拟 dom 之前在内部解决它
您想要做的是按 Id 抓取按钮并覆盖其默认行为
export const onPreRouteUpdate = ({ location, prevLocation }) => {
if (location.pathname === 'donate' && prevLocation === 'donate') {
return;
}
}
此脚本[t 肯定会尝试将您引导到“捐赠”页面
您可能希望将页面路由到其当前位置
这是一篇关于如何 在 gatsby 中路由到当前页面的文章
您可能想要做的另一件事是完全删除事件侦听器,这是我为删除窗口 Keypress 事件所做的示例
为您的代码调整它
return () => { window.removeEventListener('keydown', onKeyDown) }
推荐阅读
- android - 如何禁用或停止坐标布局滚动
- python - 如何制作一个机器人,在我们加入特定语音频道时赋予角色并在离开时移除
- django - Django 项目不在 Cpanel 中托管
- typeorm - TypeORM 不会在失败时回滚
- sql-server - 改善记录数翻倍时的慢查询
- javascript - Webpack 5 无法导入 UMD 模块
- dataweave - 如何在 mulesoft ftp 创建步骤中从有效负载中排除列?(有效载荷是一个对象数组)
- java - 如何模拟在检票口的测试中单击 AjaxButton?
- flutter - 如何检测用户截图,没有 screenshot_callback [无重复]
- c++ - 在当前项目中使用静态库