我在React应用程序中有一个搜索结果页面,用户可以在其中选择过滤器,过滤器会更新URL的查询参数并导致在React中重新安装。我在多个浏览器中遇到的一个问题是,如果我的过滤器在溢出容器内,那么子溢出的位置将在重新安装时应用于窗口。这是一个例子:
我已经尝试了setting restoration to manual,但这没有做任何事情。我还尝试使用window.scrollY
和类似函数手动抓取滚动位置,并将其恢复到该位置,但它返回子元素的滚动位置。
答案 0 :(得分:1)
使用window.history.pushState
可以在不强制重新渲染的情况下更新查询参数。