Javascript 更改页面时滚动至顶部

Javascript 更改页面时滚动至顶部,javascript,reactjs,react-router-dom,Javascript,Reactjs,React Router Dom,我正在使用react router dom来实现我的reactjs应用程序的路由! 但我有一个问题,我找不到任何有效的解决方案,滚动到顶部的页面更改。有人能帮我吗 以下是我的路由代码: <BrowserRouter basename={basename}> <Switch> <MobilePage hasNav navType="primary" exact path={`/restaurant

我正在使用
react router dom
来实现我的reactjs应用程序的路由! 但我有一个问题,我找不到任何有效的解决方案,滚动到顶部的页面更改。有人能帮我吗

以下是我的路由代码:

    <BrowserRouter  basename={basename}> 
          <Switch>
                    <MobilePage hasNav navType="primary" exact path={`/restaurant`} component={VendorList} />
                    <MobilePage hasNav navType="primary" path={`/restaurant/:vendorCode`} component={VendorDetails} /> 
          </Switch>
    </BrowserRouter>


componentDidMount()
函数
窗口中添加到
VendorList
VendorDetails
。滚动到(0,0)
我目前正在使用react路由器dom v5(我发现的大多数解决方案都是针对v4的)我很惊讶没有找到一个解决方案,让页面在转换过程中加载到顶部

解决我的问题的方法是安装包装器并将其放入

const-App=()=>(
)
一切正常。

安装下面的插件

从“react router scroll top”导入ScrollToTop
常量应用=()=>(
)

您还应该在滚动到顶部的同时重置键盘焦点。我写了一件事来处理它:@danielnixon我如何在oaf react路由器中使用basename参数?似乎被忽略了。@danielnixon我正在使用BrowserRouter标记的basename属性,但我想我现在需要将其作为createBrowserHistory的配置属性来移动?@danielnixon我通过将basename从BrowserRouter的“标记属性”移动到createBrowserHistory的配置属性来使其工作,但我也不得不降级到history@4.10.1因为history@5.0.0已删除对basename的支持。oaf-react-router卡在打开状态history@4因为这就是react路由器所使用的:
import ScrollToTop from 'react-router-scroll-top'

const App = () => (
<Router>
  <ScrollToTop>
     <App/>
  </ScrollToTop>
</Router>
  )
<ScrollToTop/>