平滑滚动不适用于反应路由器哈希链接

Lil*_*ily 5 javascript css anchor reactjs react-router

我将 React-router 更新到了 v6,现在当我向 HashLink 添加 smooth 时,它甚至不会滚动。

    "react-router": "^6.2.1",
    "react-router-dom": "^6.2.1",
    "react-router-hash-link": "^2.4.3",
Run Code Online (Sandbox Code Playgroud)

所以我尝试更改为简单a href并添加scroll-behavior:smoothcss 但它也不起作用。

           <div className="navbar__center">
                <nav>
                    <HashLink smooth to="/#home">
                        Home
                    </HashLink>
                    <HashLink smooth to="/#about">
                        About
                    </HashLink>
                    <HashLink smooth to="/#works">
                        Works
                    </HashLink>
                </nav>
            </div>
Run Code Online (Sandbox Code Playgroud)

所以ofc在同一页面我有这个:

<section className="home__section home__2" id="about">
Run Code Online (Sandbox Code Playgroud)

我可以在网址中看到哈希锚标记,如果在新选项卡中打开它,它将导航到它,但仅此而已。

路线:

     <BrowserRouter>
        <main className="main">
          <Routes>

            <Route path="/" element={<Home />}>
            </Route>

            <Route path="*" element = {<FourOhFour/>} />
          
          </Routes>
        </main>
      </BrowserRouter>
Run Code Online (Sandbox Code Playgroud)