js css html

一起学习Next.js吧(下)

2022-05-10  本文已影响0人  darkTi

接上篇:一起学习Next.js吧(上)

启用TypeScript

创建tsconfig.json
改后缀
为什么识别不了jsx呢

使用Next.js API

读取数据

Next.js的三种渲染

客户端渲染(CSR,Client Side Render)
静态页面生成(SSG,Static Site Generation)
服务端渲染(SSR,Server Side Render)

客户端渲染

封装一个usePosts
总结

数据内容是通过ajax请求渲染到页面上的;

缺点
静态内容和动态内容

静态内容是直接写在代码里的;动态内容是从数据库拉取的;

静态页面生成(SSG)

背景
注意

getStaticProps 获取数据

声明位置
写法
如何使用
同构代码
image.png

静态化的时机

如何体验生产环境
三种文件类型
为什么不把数据直接放进index-ssg.js文件中呢

SSG小结

动态内容静态化
优点

用户相关动态内容

较难提前静态化

getServerSideProps

运行时机
参数

总结

静态内容
动态内容
动态内容静态化
用户相关动态内容静态化

有动态内容吗?没有就什么都不用做,直接输出HTML;
动态内容和客户端相关吗?相关就只能用客户端渲染(CSR);
动态内容跟请求/用户相关吗?相关只能服务端渲染(SSR)或客户端渲染(CSR);
动态内容的请求跟用户无关,那就使用SSG;

getStaticPaths

文档

export const getStaticPaths = async () => {
  return {
    paths: [
      { params: {...} }
    ],
    fallback: true, false, or 'blocking',
  };
};

扩展知识

上一篇下一篇

猜你喜欢

热点阅读