javascript - 转到另一个页面并单击一次滚动到特定的 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>
那么我应该怎么做才能让它导航然后滚动呢?提前致谢
解决方案
您可能会遇到这样一种情况,即由于没有取消对滚动链接的单击,它将对链接上的 href 进行整页加载,而不仅仅是进行单页导航。将您的 onClick 更改为:
onClick={e => {
e.preventDefault();
props.history.push('/fashion');
}}
推荐阅读
- python - 有没有办法使用 Pandas 将行值拆分为单独的列?
- dialogflow-es - 我们可以在对话流中添加超过 5 个输入上下文吗?
- logstash - 从logstash grok过滤器中的消息中获取可选字段
- python - 如何计算 pyspark 数据框中的每个分类变量在多列中的频率?
- android - 警告:在不一致的位置观察到包 id 'extras;intel;Hardware_Accelerated_Execution_Manager'
- python - Python 子进程:提供标准输入,读取标准输出,然后提供更多标准输入
- sql - 如何将行转换为分组数据的列?
- php - Google Content API for Shopping:创建货件时出错
- python-3.x - 为什么“IF”之后的其他子句不起作用,当嵌套在while循环完成时
- javascript - 如何使用 vscode 获取用户输入(无 html)