簡體   English   中英

Next.js 500 Internal Server Error 在 404 頁面內調用 useEffect Hook 后立即出現錯誤

[英]Next.js 500 Internal Server Error right after calling useEffect Hook inside 404 Page

我正在調用 useEffect 鈎子來調用其中的 setTimeout 函數,以便在 3 秒后使用 Next.js 中的 useRouter 鈎子將用戶重定向回主頁,並在其上調用 push 方法。 當我不在 404 頁面的無狀態功能組件內調用 useEffect 鈎子並將我重定向到自定義 404 頁面時,該頁面工作正常。 但是,每次我調用 useEffect Hook 時,我都會收到 500 個內部服務器錯誤。

錯誤

終端 :next_router__WEBPACK_IMPORTED_MODULE_4___default(...) 不是 PageNotFound (webpack-internal:///./pages/404.js:23:68) at processChild 的函數

import Box from "@material-ui/core/Box";
import Link from "next/link";
import styles from "../styles/Home.module.css";
import useEffect from "react";
import useRouter from "next/router";


const PageNotFound = () => {
  const router = useRouter();

  useEffect(() => {
    setTimeout(() => {
      router.push("/");
    }, 3000);
  }, []);

  return (
    <Box className="page-not-found">
      <h1>Ooops..</h1>
      <h2>That page cannot be found</h2>
      <p>
        Go back to the
        <Link href="/">
          <a className={styles.notFoundHomePageLink}>Homepage.</a>
        </Link>
      </p>
    </Box>
  );
};

export default PageNotFound;

`

似乎您以錯誤的方式導入了useRouter 根據文檔,它需要是這樣的:

import { useRouter } from 'next/router';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM