美文网首页
React-Router 路由跳转后页面不在顶部的问题

React-Router 路由跳转后页面不在顶部的问题

作者: Alexa_老王 | 来源:发表于2019-09-27 09:16 被阅读0次

    解决方法:利用window.scrollTo(0, 0)

    1、定义一个组件ScrollToTop(也可取其他名) 代码如下:

    import React, { Component } from 'react';
    import { Route, withRouter } from 'react-router-dom';
    class ScrollToTop extends Component {
    componentDidUpdate(prevProps) {
    if (this.props.location !== prevProps.location) {
    window.scrollTo(0, 0)
    }
    }
    render() {
    return this.props.children
    }
    }
    export default withRouter(ScrollToTop);

    2、在定义路由的组件内引用该组件,代码如下:
    render(){
    return(
    <Router>
    <ScrollToTop>
    <Route path='/' exact component={Index} />
    <Route path='/name' component={Name} />
    </ScrollToTop>
    </Router>
    ),
    };

    相关文章

      网友评论

          本文标题:React-Router 路由跳转后页面不在顶部的问题

          本文链接:https://www.haomeiwen.com/subject/myniyctx.html