Отключает ли использование `getInitialProps` в пользовательском компоненте _app в next.js рендеринг на стороне клиента? - PullRequest
0 голосов
/ 02 декабря 2019

Согласно официальной документации next.js :

import React from 'react'
import App from 'next/app'

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 <Component {...pageProps} />
  }
}

export default MyApp

Насколько я понимаю, если я использую getInitialProps в своем файле _app.js, это приведет к тому, что мои страницы будутсерверная часть отображается. Но значит ли это, что рендеринг на стороне клиента не будет работать (навигация и т. Д.)? Если нет, то что именно подразумевается под

, в результате чего каждая страница вашего приложения отображается на стороне сервера.

?

1 Ответ

1 голос
/ 02 декабря 2019

Вы не получили это правильно, только Автоматическая статическая оптимизация будет отключена, потому что, если вы используете getInitailProps, это означает, что страница не является статичной (требуются дополнительные данные с сервера для визуализации), поэтому Next не может сгенерировать для него статический html-файл .

...