首页 > 解决方案 > 如何使 window.scrollTo(0,0) 全局化?

问题描述

window.scrollTo(0,0)在每个组件渲染上都使用它来将组件渲染到顶部。但现在我正试图使其成为全球性的,而不是调用window.scrollTo(0,0)它应该在全球某个地方工作的每个组件。

任何帮助将不胜感激。谢谢你。

我现在如何使用:-

component A {
  render(){
    window.scrollTo(0,0);
    return(<></>);
}
component B {
  render(){
    window.scrollTo(0,0);
    return(<></>);
}

同样,我必须为所有有问题的组件做。我想在某个地方做,这样我就不必在每个组件中调用它。

标签: javascriptreactjs

解决方案


你可以使用 NPM历史包来解决这个问题。你应该像这样听历史:

history.listen(() => window.scrollTo(0, 0));

这将监听您的路由历史并将滚动位置设置为 0,0,只要它在历史路径上有任何更改。


推荐阅读