AnaiO
AnaiO

Reputation: 137

Next.js _app and _document use?

I'm totally new with next.js and I need your help for something I guess really basic but I cannot find my mistake or an explanation, I found nothing on the internet about it, so here I am :

Everything works when I create a file in the pages folder(I mean every file in pages folder is ok except _app.js or _document.js), I can reach the URL, but I would like to use context, layout or authentification in the future and I need to use the _app and _document override cool things but I can write anything I want in it, it seems my _app.js or _document.js are just useless, never called or I don't know but they just never work.

I tried on 2 projects, here is what I do according to the next documentation : first, npx create-next-app to create the project, and then add an _app.js for example in pages folder and add :

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 

Anybody could tell me what I am doing wrong?

Upvotes: 6

Views: 5414

Answers (1)

AnaiO
AnaiO

Reputation: 137

Well, if anybody is going through the same issue, I found what was going on, in fact, after creating for the first time _app.js, I have to restart my docker container, or restart my app with yarn next dev if I want to see the changes or they never appear. I am going to look for more explanations on how SSR and next.js more globaly exactly work to understand their behaviour on this point. Good luck all !

Upvotes: 6

Related Questions