获取 404 |找不到页面 Nextjs

Getting 404 | Page Not found Nextjs

我使用 react-router v5 创建了我的页面路由,一切正常。如果我单击 link,它会将我带到页面,但是当我重新加载页面时,我在页面上收到“404 | 未找到页面”错误。

import React, { useEffect, useState } from 'react'
import Home from './dexpages/Home'
import {
  BrowserRouter,
  Routes,
  Route
} from "react-router-dom";
import Dashboard from './dexpages/dashboard';
import Swapping from './dexpages/swapping'
import Send from './dexpages/send';
import Airdrops from './dexpages/airdrops'

function Main() {
  const [mounted, setMounted] = useState(false)
  useEffect(() => {
    if (typeof window !== "undefined") {
      setMounted(true)
    }
  }, [])

  return (
    <>
      {mounted &&
        <BrowserRouter>
          <div className="min-h-screen" style={{ overflowX: 'hidden' }}>
            <Routes>
              <Route path="/airdrops" element={<Airdrops />} />
              <Route path="/send" element={<Send />} />
              <Route path="/swap" element={<Swapping />} />
              <Route path="/dashboard" element={<Dashboard />} />
              <Route path="/" element={<Home />} />
            </Routes>
          </div>
        </BrowserRouter>
      }
    </>

  )
}

export default Main;

这是我创建所有路由的主要组件。

This is the error I'm getting when I reload the page

不要将 React Router 与 next.js 一起使用。

Next.js has its own routing mechanism 用于 client-side 路由和 server-side 路由。

通过使用 React Router,您可以使用自己的 client-side 路由绕过它,因此当您直接请求页面(并依赖于 server-side 路由)时,您会得到 404 Not Found。

Next.js 有 a migration guide.

您的路径需要调整。对于主页,可以路由到 /,但是对于其他页面,不需要反斜杠,分别从 Airdrops、Send、Swapping 和 Dashboard 路径中删除反斜杠,你应该没问题。

在下面尝试每条路线。

<Route path="airdrops" element={<Airdrops />} /> <Route path="send" element={<Send />} /> <Route path="swap" element={<Swapping />} /> <Route path="dashboard" element={<Dashboard />} /> <Route path="/" element={<Home />} />