`

react-router 返回顶部的两种方式

阅读更多

当我们使用react-router给项目带来便利的同时,也会遇到各种不顺的问题,比如当我们从A页面进入B页面的时候,由于共享了同一个history,导致浏览的位置也被记录下来的,这样A页面滑动到底部了,进入B页面也在底部,也显然不符合我们的浏览习惯。

还好react-router提供相应的事件配置我们正常开发:

方案一 onUpdate:

 

<Router onUpdate={() => window.scrollTo(0, 0)} history={hashHistory}>
    <Route path="/" component={ App }>
</Router>

 

 

方案二:history.listen监控

hashHistory.listen((location) => {
  setTimeout(() => {
    if (location.action === 'POP') return;
    window.scrollTo(0, 0);

    console.log('Back to top', location);
  });
});

<Router history={hashHistory}>
    <Route path="/" component={ App }>
</Router>

 

 

这样我们就可以每次当router变化的时候控制是否需要滚动到顶部。

 

更多操作事件及获取属性参考:


更多实例应用扫码体验:

  • 大小: 82.7 KB
分享到:
评论

相关推荐

    react-router-dom-demo

    在React开发中,路由管理是不可或缺的一部分,而`react-router-dom`是React社区广泛使用的路由库,它使得在单页应用(SPA)中实现页面间的导航变得简单易行。本项目"react-router-dom-demo"专注于演示如何在React...

    React-Router Demo

    React-Router DemoReact-Router DemoReact-Router DemoReact-Router DemoReact-Router DemoReact-Router DemoReact-Router DemoReact-Router DemoReact-Router DemoReact-Router DemoReact-Router DemoReact-Router ...

    React-router4路由监听的实现

    ### React-router4路由监听的实现 #### 核心概念 React-router4 是一个完全基于React的路由解决方案。与之前的版本不同,React-router4 中不再需要传统的路由配置,它完全将路由作为React组件来处理。这种基于组件...

    react-router-dom5.0的路由拦截.rar

    react-router-dom5.0的路由拦截 守卫 demo 封装好的 可以直接套用,方便研究使用,直接移植,对着修改,安装 redux等就行,免 c币 下载地址 http://download.lllomh.com/cliect/#/product/J615178556091098

    react-router:react-router 中文文档

    react-router-dom React路由器的DOM绑定 react-router-native 用于React路由器的React Native绑定 react-router-redux Integration with React Router and Redux react-router-config 静态路由配置助手 About react-...

    react-router学习demo

    这个“react-router学习demo”很可能是为了帮助开发者深入理解如何在React项目中实现路由导航功能。React Router 提供了一种声明式的方式来定义路由,使得应用的导航逻辑与UI组件紧密结合。 首先,React Router 有...

    基于React18、React-Router V6、Redux Vite2、Ant-Design 开源的一套后台管理框架

    Hooks Admin 是一个全面的后台管理框架,它充分利用了React18、React-Router V6、Redux、React Hooks、TypeScript以及Vite2等现代前端技术,同时采用了流行的Ant Design UI库,为开发者提供了高效且易用的开发环境。...

    react-router4.2使用js控制路由跳转的3种方式

    import { Redirect } from 'react-router'; class Login extends React.Component { render() { const { isRegisterNewUser, loginSuccess } = this.props; if (loginSuccess) { return ; } else { return ...

    koa-react-router:用于koa 2的react-router中间件

    npm install koa-react-router react react-dom react-router --save 注意: react react-dom和react-router都是koa-react-router peerDependencies 。 可以将koa-react-router轻松安装在koa 2应用程序中,如下所...

    react-router

    这是一个react-router搭建的实例,下载后npm install 安装下依赖模块,然后npm run server启动。此外https://blog.csdn.net/qq_40621718/article/details/79979897有详细的搭建步骤也可以留邮箱。

    react-router-cache-route:使用类似React-Router的缓存进行路由在Vue

    缓存路由 英文|使用缓存为Vue中的keep-alive类的react-router 。如果只想要&lt;KeepAlive&gt; ,请尝试React v15 + React-Router v4 +问题使用Route ,前进或后退时无法缓存组件,这会导致数据丢失和交互原因与解决方案...

    react-reactroutertransition构建用于reactrouter转场效果基于reactmotion实现

    要使用`react-router-transition`,首先需要在项目中安装这两个库: ```bash npm install react-router-dom react-router-transition react-motion ``` 接着,我们需要在`react-router`的`Route`组件中包裹一个`...

    react-router.html

    react-router

    react-router-tutorial-master

    本教程“react-router-tutorial-master”旨在帮助开发者深入理解并掌握 React Router 的使用方法。 React Router 提供了声明式路由,允许你在组件层级定义路由,使得应用的结构更加清晰。在 React 应用中,路由通常...

    mobx-react-router:使MobX状态与react-router保持同步

    通过RouterStore使MobX状态与react-router保持同步。 路由器的位置状态是可观察到的,因此在MobX组件中对其进行的任何引用都会在位置更改时使组件重新呈现。 非常受启发(并复制自) 。 该分支(主节点)与react-...

    react-最好用的reactreduxreactrouterantd脚手架

    标题中的“react-最好用的reactreduxreactrouterantd脚手架”表明这是一个基于React、Redux、React-Router和Ant Design的开发框架或者模板项目。这个框架整合了四个关键的JavaScript库,为创建复杂的单页应用(SPA)...

    浅谈react-router@4.0 使用方法和源码分析

    在本篇文章中,将详细讨论React Router v4版本的使用方法和源码分析,该版本相较于之前的版本有了较大的改变,尤其是路由配置方式由嵌套路由变为了“路由优先”的思想。 首先,我们来谈谈React Router v4的使用方法...

    react-router-loader:基于react-proxy-loader,按需动态加载React-Router组件

    安装npm install react-router-loader --save-dev依存关系使用哪个版本取决于您的react-router版本React路由器React路由器加载器1.x 0.4.x 2.x及以上0.5.x用法在要求component使用Route ,并且仅在呈现路线时才加载...

    深入理解react-router@4.0 使用和源码解析

    那么,react-router是你最好的选择~ react-router版本现今已经到4.0.0了,而上一个稳定版本还是2.8.1。相信我,如果你的项目中已经在使用react-router之前的版本,那一定要慎重的更新,因为新的版本是一次非常大的...

Global site tag (gtag.js) - Google Analytics