首页 > 解决方案 > 转到另一个页面并单击一次滚动到特定的 div (Reactjs)

问题描述

我的问题很简单,但我不知道该怎么做,我正在使用 Reactjs 的网站上工作,这是我的问题,我需要在单击按钮时向下滚动到特定的 div,当我在同一位置时它工作正常页面,但当我在不同的页面上时,它只导航(因为按钮在导航栏中,所以它出现在所有页面中)。

我正在使用 react-scroll 的链接,这是代码:

import { Link as Scrolllink, animateScroll as scroll } from 'react-scroll'

                <li className="has-children" >
                    <Scrolllink
                        onClick={() => props.history.push('/fashion')}
                        to="HowItWorks"
                        spy={true}
                        smooth={true}
                        offset={-70}
                        duration={1500}
                    >How it works</Scrolllink>
                </li>

那么我应该怎么做才能让它导航然后滚动呢?提前致谢

标签: javascripthtmlreactjs

解决方案


您可能会遇到这样一种情况,即由于没有取消对滚动链接的单击,它将对链接上的 href 进行整页加载,而不仅仅是进行单页导航。将您的 onClick 更改为:

onClick={e => {
  e.preventDefault();
  props.history.push('/fashion');
}}

推荐阅读