首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >点击导航栏不平滑滚动(已安装react-scroll)

点击导航栏不平滑滚动(已安装react-scroll)
EN

Stack Overflow用户
提问于 2021-09-09 08:08:36
回答 1查看 69关注 0票数 0

这个react-scroll我做错了什么?我想单击导航栏链接,然后平滑地滚动到同一页上的相应部分。但是,单击导航项目不会执行任何操作。有没有人能帮我解释一下为什么这个不起作用?

我运行了npm install react-scroll。

App.js

代码语言:javascript
复制
import './App.css';
import React from 'react';

import Navbar from './components/Navbar/Navbar';
import About from './components/About/About';
import Skills from './components/Skills/Skills';

function App() {
  return (
    <React.Fragment>
      <header>
        <Navbar />
      </header>
      <main>
        <About id='about' />
        <Skills id='skills' />
      </main>
    </React.Fragment>
  );
}

export default App;

Navbar.js

代码语言:javascript
复制
import { Link as LinkScroll } from 'react-scroll';

const Navbar = () => {
  return (
    <nav> 
      <LinkScroll
        activeClass='active'
        to='about'
        spy={true}
        smooth={true}
        offset={-70}
        duration={500}
      >
        About
      </LinkScroll>
      <LinkScroll
        activeClass='active'
        to='skills'
        spy={true}
        smooth={true}
        offset={-70}
        duration={500}
      >
        Skills
      </LinkScroll>
    </nav>
  );
};

export default Navbar;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-09 08:26:16

从元件标记中删除id

代码语言:javascript
复制
<main>
    <About />
    <Skills />
</main>

然后在这些组件的根选项卡中添加这些id。假设您的组件是:

代码语言:javascript
复制
import React from "react";

export default ({ name }) => (
  <div id="skills" style={{ height: "500px" }}>
    <h1>Hello {name}!</h1>
  </div>
);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69114520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档