【问题标题】:Next.js _app and _document use?Next.js 使用 _app 和 _document 吗?
【发布时间】:2020-04-13 03:17:15
【问题描述】:

我对 next.js 完全陌生,我需要你的帮助来解决我认为非常基本的事情,但我找不到我的错误或解释,我在互联网上没有找到任何关于它的信息,所以我在这里:

当我在 pages 文件夹中创建文件时,一切正常(我的意思是 pages 文件夹中的每个文件都可以,除了 _app.js_document.js),我可以访问 URL,但我想使用上下文、布局或将来进行身份验证,我需要使用_app_document 覆盖很酷的东西,但我可以在其中写任何我想要的东西,看来我的_app.js_document.js 只是没用,从来没有调用过或者我没有'不知道,但他们只是从不工作。

我尝试了 2 个项目,这是我根据下一个文档所做的: 首先,npx create-next-app 创建项目,然后在 pages 文件夹中添加 _app.js 并添加:

import React from 'react'
import App from 'next/app'
import Nav from '../components/nav'

class MyApp extends App {
  // Only uncomment this method if you have blocking data requirements for
  // every single page in your application. This disables the ability to
  // perform automatic static optimization, causing every page in your app to
  // be server-side rendered.
  //
  // static async getInitialProps(appContext) {
  //   // calls page's `getInitialProps` and fills `appProps.pageProps`
  //   const appProps = await App.getInitialProps(appContext);
  //
  //   return { ...appProps }
  // }

  render() {
    const { Component, pageProps } = this.props
    return ( 
      <>
        <Nav />
        <Component {...pageProps} />
      </>
      );
  }
}

export default MyApp 

谁能告诉我我做错了什么?

【问题讨论】:

  • 您面临的问题是什么?根据您的代码,您将在渲染中添加&lt;Nav /&gt;。它不工作吗?
  • 嗨,萨米,谢谢您的回答。确实,它不起作用,我仍然不知道为什么。在另一个项目上也一样,没有出现。你有什么想法吗?
  • 嗨@AnaiO 你在_document.js 试过这个吗?如果是,那么你在那里尝试过什么。另外,请分享您的../components/nav 代码。
  • 再次嗨@SamiAhmedSiddiqui 谢谢你的回答,我真的不知道为什么但今天一切正常......即使我撤消所有最后的更改并重试我在这里发送的内容,我也有同样的情况在两台不同的计算机上出现问题,所以我真的不明白...非常感谢您的帮助,如果我终于找出它为什么不起作用以及为什么现在它起作用了,我会在这里发布原因。谢谢!

标签: next.js


【解决方案1】:

好吧,如果有人遇到同样的问题,我发现发生了什么,事实上,在第一次创建 _app.js 之后,我必须重新启动我的 docker 容器,或者使用 yarn next dev 重新启动我的应用程序如果我想查看更改或它们永远不会出现。我将寻找更多关于 SSR 和 next.js 如何更全球化地工作的解释,以了解他们在这一点上的行为。祝大家好运!

【讨论】:

  • 是的。实际上,您必须使用 next 重建代码,以便将 _app.js 更改考虑在内。
猜你喜欢
  • 2020-10-23
  • 2020-03-26
  • 2022-07-22
  • 2021-04-23
  • 1970-01-01
  • 2021-09-28
  • 2018-12-05
  • 2022-10-14
  • 1970-01-01
相关资源
最近更新 更多