javascript 如何在react中添加Scroll to top

vohkndzv  于 2023-04-28  发布在  Java
关注(0)|答案(4)|浏览(136)

我正在添加滚动到顶部div在页脚部分。点击滚动顶部图标后,它将进入页面顶部
点击滚动到顶部后,它将进入页面的顶部
这是我的代码

import React from 'react';

class ScrollTop extends React.Component {
    render() {
        return (
            <div className="scrolltop">
                <i className="fa fa-angle-up" />
            </div>
        );
    }
}

export default ScrollTop;
4dc9hkyq

4dc9hkyq1#

使用vanilla javascript即可

import React from 'react';

class ScrollTop extends React.Component {
    render() {
        return (
            <div className="scrolltop" onClick={() => window.scrollTo({top: 0, behavior: 'smooth'})}>
                <i className="fa fa-angle-up" />
            </div>
        );
    }
}

export default ScrollTop;
bqucvtff

bqucvtff2#

可以使用此功能

handleScroll=()=>{
    window.scrollX(0);
    // or 
    window.scroll({top:0,behavior:'smooth'})

}
u4vypkhs

u4vypkhs3#

1.从https://www.npmjs.com/package/react-scroll安装react-scroll
1.导入并在组件中使用,如下所示(ES6风格):

import { Link, animateScroll as scroll } from "react-scroll";

<Link 
to="/" 
className='someDiv'
onClick={()=>scroll.scrollToTop()}>
Logo
</Link>

1.点击元素(这里是Logo)来看看它的魔力。

y1aodyip

y1aodyip4#

1-在此代码之前,您必须安装react-router。
2-npm i react-router-dom

import { useEffect } from 'react';
import { useLocation } from 'react-router-dom';

export default function scrollTop() {
    const { pathname } = useLocation();

    useEffect(() => {
        window.scrollTo(0, 0);
    }, [pathname])

    return null;
}

相关问题