nextjs是预呈现所有页面还是只呈现第一页?

kkbh8khc  于 2023-03-08  发布在  其他
关注(0)|答案(1)|浏览(132)

我正在学习nextjs,在一些地方读到nextjs只预呈现第一页,在其他一些地方他们说nextjs默认预呈现所有页面,所以我不明白哪一个是正确的

nnsrf1az

nnsrf1az1#

有不同的呈现策略。你可以通过在页面文件中添加一个方法来选择NextJs将为每个页面选择哪一个。

  1. getStaticProps将在构建时预呈现一个HTML文件,您仍然可以使用useEffect来对页面内容进行水合。
  2. getStaticPath有点相同,但您可以为不同的路径预呈现不同的页面,或者如果提供了fallback: 'blocking',则可以根据需要在不存在的路径上预呈现
    1.您还可以使用ISR(增量静态再生),这是一种介于静态/SSR之间的方法,其中页面是按需生成的,并缓存revalidate所指定的时间。
  3. getServerSideProps将按需呈现页面
    每一种呈现策略都有其优缺点,静态页面对于第一次呈现很有用,但可能需要另一次往返来水合内容。服务器呈现对于SEO很有用,但可能会导致更高的服务器CPU使用率。
    最好的是,您可以根据所呈现的页面来选择使用哪种策略。
    编辑:我没有添加它,但这些方法的原理是,您在其中获取数据/做一些事情,它们的return语句将被它们所在的页面作为参数使用。

相关问题