我有一个内置于reactjs(SPA)的长页面。它有很多链接。当用户向下滚动并单击其中一个链接时,将呈现新页面。
一切都很好但是当用户点击按钮(浏览器)时,之前的长页面会重新渲染并返回顶部。
是否有任何简单的解决方案可以确保使用的内容与他最后点击的页面完全相同?
答案 0 :(得分:1)
我会在每个链接上注册一个点击事件并阻止默认行为或使用其他元素,例如带有点击事件的范围。
在此之后,您需要存储滚动视图,例如here
myclick: function() {
var node = this.getDOMNode();
node.scrollTop = node.scrollHeight;
//navigate to your new site , update location
},
将您的scrollTop
存储在状态或local storage中,当用户点击后退按钮时,您需要检查是否设置了scrollTop并将scrollposition
更新回此节点。< / p>