react-router-dom链接无法导航到目标页面的开始

a_arbshhi

我正在使用主页上的react-router-dom链接导航到某些路由。当我位于主页顶部时,它可以正常工作。但是,当我向下滚动“主页”并单击导航栏中的“链接”项时,尽管它导航到指定的路线,但目标页面并未从顶部显示。它从页面中间的某处开始。

这是我的导航栏:

import React, { Fragment, useState } from "react";
import { Link } from "react-router-dom";
import Fade from "react-reveal/Fade";

import EduLogo from "./resource/edu.png";
import Logo from "./resource/logo.png";

const Navbar = () => {
const [nav, setNav] = useState(false);

const adjustNav = () => {
  if (window.scrollY >= 1) {
    setNav(true);
    document.getElementById("main-nav").style.height = "100px";
    document.getElementById("nav-logo").style.height = "30px";
    document.getElementById("nav-logo").style.width = "275px";
    document.getElementById("nav-edu").style.height = "65px";
    document.getElementById("nav-edu").style.width = "200px";
  } else {
    setNav(false);
    document.getElementById("main-nav").style.height = "120px";
    document.getElementById("nav-logo").style.height = "37px";
    document.getElementById("nav-logo").style.width = "360px";
    document.getElementById("nav-edu").style.height = "80px";
    document.getElementById("nav-edu").style.width = "238px";
  }
};
window.addEventListener("scroll", adjustNav);

return (
 <Fragment>
  <nav id="main-nav" className={nav ? "main-nav active" : "main-nav"}>
    <Fade left>
      <div id="main-nav-logo">
        <a href="#!" target="_blank">
          <img src={EduLogo} alt="" id="nav-edu" />
        </a>

        <img
          src={Logo}
          alt=""
          id="nav-logo"
        />
      </div>
    </Fade>

    <div className="nav-container">
      <Fade bottom cascade>
        <ul>
          <li id="nav-item">
            <Link to="/" className="nav-item">
              Home
            </Link>
          </li>
          <li id="nav-item">
            <Link to="/members" className="nav-item">
              Who We Are?
            </Link>
          </li>
          <li id="nav-item">
            <Link to="/research" className="nav-item">
              What We Do?
            </Link>
          </li>
          <li id="nav-item">
            <Link to="/latest" className="nav-item">
              News & Events
            </Link>
          </li>
        </ul>
      </Fade>
    </div>
  </nav>
</Fragment>
);
};

export default Navbar;

有什么建议吗?

谢谢

纳吉维克多

我通常使用类似这样的方法来确保每次访问我的页面时都从顶部开始显示。

 React.useLayoutEffect(() => {
  window.scrollTo(0, 0);
}, [])

我使用useLayoutEffect挂钩在浏览器开始绘制之前应用窗口滚动。

您可以在此处了解更多信息

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

React Router确认导航到页面

来自分类Dev

React Router深层链接

来自分类Dev

如何使用带有typescript的react router dom导航到新页面

来自分类Dev

react-router-dom <链接>未更新页面

来自分类Dev

react-router browserHistory.push无法导航到新页面

来自分类Dev

React Router和导航按钮

来自分类Dev

React Router导航栏示例

来自分类Dev

React Router动态导航面板

来自分类Dev

持久导航 React-Router

来自分类Dev

使用链接测试React Router

来自分类Dev

设置React Router链接的样式

来自分类Dev

React Router Dom的<Switch>问题

来自分类Dev

React-Router无法加载嵌套页面

来自分类Dev

React Router:无法识别位置“ /”?

来自分类Dev

无法设置React-Router

来自分类Dev

React Router无法传递参数

来自分类Dev

使用react-router的React页面布局

来自分类Dev

如何使用React正确设置react-router-dom链接

来自分类Dev

为什么我的react-router链接将我带到页面的中间?

来自分类Dev

React Router V4 (react-router-dom) 以编程方式深入树中导航

来自分类Dev

在react-router 4中单击导航链接后如何加载页面

来自分类Dev

使用React Router的新页面的位置

来自分类Dev

使用React Router导航到页面时useEffect根本不运行

来自分类Dev

React-Router:导航到新页面后如何调整标题大小?

来自分类Dev

无法使用react-router-redux访问context.router

来自分类Dev

使用React Router的导航测试失败

来自分类Dev

带有react-router-dom链接的SpeedDialAction

来自分类Dev

react-router-dom链接-悬停时隐藏URL

来自分类Dev

如何使用CSS在React Router Dom中选择链接标签?