javascript - 如何访问 Next.JS 自定义 404 页面上的当前路由?

标签 javascript reactjs next.js next-router

我的 Next.JS 应用程序 (404.js) 中有一个自定义 404 页面。在页面上,我想显示一条消息,如 The route <strong>/not-a-route</strong> does not exist ,但是当使用 Next.js 的 useRouter() 时和 router.pathname ,路由器认为我在 /404而是显示 The route <strong>/404</strong> does not exist .如何在自定义 404 页面中访问我所在的实际路线?

export const NotFound: React.FC = () => {
  const router = useRouter();
  console.log(router.pathname) // prints /404
  return (
    <Layout title='Oops! Something went wrong!'>
      <div className={styles.container}>
        <h1>Oops! Something went wrong!</h1>
          <p>
            The route <strong>{router.pathname}</strong> does not exist.
          </p>
      </div>
    </Layout>
  );
};

最佳答案

您可以访问 redirected route 作为 router.asPath。尝试:

import {useRouter} from 'next/router'
export const NotFound: React.FC = () => {
  const router = useRouter();
  console.log(router.asPath)
  return (
    <Layout title='Oops! Something went wrong!'>
      <div className={styles.container}>
        <h1>Oops! Something went wrong!</h1>
          <p>
            The route <strong>{router.asPath}</strong> does not exist.
          </p>
      </div>
    </Layout>
  );
};

关于javascript - 如何访问 Next.JS 自定义 404 页面上的当前路由?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66952694/

相关文章:

javascript - EaselJS透视图像变换

javascript - 如何 "copy/paste"子图——JointJS

javascript - jQuery if 语句未捕获#ID

javascript - 使用 ReactJS 显示多维数组

reactjs - 如何在 React 中使用 svg 填充 url

node.js - 运行下一个 js 时出错 - TypeError : (0 , react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV) 不是函数

javascript - 如何设置两个js函数之间的延迟?

javascript - 如何使用 reduxsauce 获得 100% 测试覆盖率

javascript - 如何正确捕获 axios get 请求中的错误?

javascript - 如何在功能组件的 getInitialprops 中访问特定页面的 Prop ?