1. React
    • 组件化Component
    • 作用
      • 方便模块化开发
      • 单独测试
      • 方便复用,可以拆成独立的工程,可引用开源组件
      • 按需加载,提升渲染效率
    • 用法
      • 组件可以直接做页面
      • 数据传递 (状态上升)
        • hooks
    • useState 获取和修改变量
    • useEffect 组件初始化,数据监听,销毁
    • useContext 跨组件传递数据,替代prop传参 - React状态不可变性原则
    • 状态不可变性原则‌要求开发者更新状态时,始终通过创建新数据副本完成,而非直接修改原状态
      • React通过浅比较新旧状态引用判断是否更新,直接修改原状态会导致渲染失效
    • 基础数据类型 不需要额外考虑
    • 对象/数组 需要使用新的对象/数组,逐层拷贝
  2. NextJS
    • 文件系统路由
    • page 方便路由映射
    • layout 方便组件嵌套管理
      • 切换页面路由时,布局组件‌不会重新渲染‌(除非手动触发),其内部 React 状态(如 useState)、交互性事件(如点击展开的侧边栏)会自动保留。
      • 支持局部更新
    • 简化静态资源使用
  • link组件
    • 预加载(Prefetching)‌
    • ‌客户端导航(Client-Side Navigation)
      • 局部渲染,保持应用状态
  • image组件
    • 图片占位
    • 图片大小和格式优化
  • 服务器渲染
    • 支持服务端组件和客户端组件
      • 必须客户端
        • hooks
        • 客户端交互
        • 浏览器api
      • 适用服务端
        • 从接口或者数据库获取数据
        • 使用了api key等保密数据或逻辑
        • 减少js数据量或者加快首屏展示速度
    • RSC Payload(React Server Component Payload)
      • 包括 服务端渲染内容,服务端传递给客户端的参数,客户端组件的占位符和位置
      • 分块传输机制
      • 渐进式内容展示