reactjs - 有没有办法将用户从一个页面重定向到另一个页面的底部
问题描述
当用户触摸按钮时,我需要从一个页面重定向以对另一页面的底部做出反应。
const goCart = () => {
if(window.location.pathname !== '/products'){
window.location.assign(ProductsPageLink());
window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
}
else{
window.scrollTo({ top: document.body.scrollHeight, behavior: 'smooth' });
}
}
<div onClick={goCart} className={classes.shoppingCart} style={{display: isOpen ? 'none' : '',}}>
...
</div>
希望在第二页上重定向的地方有一个标识符
<div id="Cart-redirect-marker"></div>
我找不到先执行 window.location 操作然后再执行 window.scrollTo 的方法。使用我目前拥有的代码,情况正好相反,它在第一页上滚动,然后重定向到第二页的顶部。
除了这个实现相同目标的想法之外,仍然可以。
解决方案
您可以使用锚点来解决您的问题。您只需给要滚动到 id 的元素。例如:
<div id="bottom" />
现在您可以在您的 url 中引用它:https ://example.com/products#bottom 如果您在单击按钮时将 window.location 更改为该 url,该窗口将显示您的 html 元素的一部分。
推荐阅读
- r - 我可以使用字符串来调用 R 中的变量吗
- javascript - Reactjs Array.prototype.map 返回未定义
- php - MySQL 使用绑定查询从参数化列表中删除仅删除列表中的第一个条目
- mysql - 我的 SQL - 从表中不存在的 where 子句列表返回 rolls/ids?
- javascript - 是否可以优先考虑类型定义文件的顺序或排除它们?
- a2lix-translation - 如何编写和解析a2l文件
- java - Junit assertThat 比较 JsonObject
- sql - 如何在 bigquery SQL 中即时生成 UID?
- ruby-on-rails - Select2 在编辑时获取多个选定的选项
- javascript - 在 React 中使用 jquery 并获取 jquery_1.default(...).resizable 不是函数