在 next.js 的自定义 _app 组件中使用 `getInitialProps ` 会禁用客户端渲染吗?

Does using `getInitialProps ` in custom _app component in next.js disable client-side rendering?

根据next.js官方documentation

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

据我所知,如果我在我的 _app.js 文件中使用 getInitialProps,这将导致我的页面在服务器端呈现。但这是否意味着客户端渲染将不起作用(导航等)?如果不是

究竟是什么意思

causing every page in your app to be server-side rendered.

?

你没有正确理解,只有 Automatic Static Optimization 会被禁用,因为如果你使用 getInitailProps 这意味着页面不是静态的(需要来自服务器的额外数据才能呈现), 因此 Next 无法为其生成静态 html 文件.