成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

React 15 RC 版本已發布!談談這 6 個令人驚嘆的新功能

開發 前端
在處理用戶請求時,服務器通常會執行與計算響應直接相關的任務。但是,開發者可能需要執行日志記錄、分析和其他外部系統同步等任務。

Hello,大家好,我是 Sunday。

5月23日,Next.JS 正式公布了 15 RC(候選版本)。這幾乎標志著 Next.JS 15 的所有全新功能都已經確定下來了。

圖片圖片

在這里它提供了很多全新更新,其中有 6 個我個人認為 價值較大 的全新功能(或更新),咱們一起來看一下吧!

一、create-next-app更新

圖片圖片

運行 create-next-app 時,會出現一個新的提示詢問:是否要啟用 Turbopack 進行本地開發(默認為No)。

? Would you like to use Turbopack for next dev? … No / Yes

這意味著,Next.JS 將逐步從 webpack 過渡到 Turbopack

Turbopack:最快的模塊打包器之一

據 Turbopack官網 描述(真實情況有待商榷):Turbopack 比 Webpack 快 700 倍,比 Vite 快 10 倍。

可以使用 --turbo 來啟用 Turbopack:

npx create-next-app@rc --turbo

二、React Compiler、React 19 的支持

Next.js App Router 建立在 React Canary 之上,這使得開發者可以在 React v19 發布之前使用這些新的 React API 。其中包括客戶端和服務器的新功能,例如:Actions。

而 React Compiler 是一個 React 編譯器。

React Compiler 是 React 團隊在 Meta 上創建的一個新實驗性編譯器。該編譯器通過對純 JavaScript 語義和 React 規則的理解,可以深入理解你的代碼,這使其能夠為您的代碼添加自動優化。編譯器通過諸如 useMemo 和之類的 API 減少了開發人員必須執行的手動記憶量 useCallback - 使代碼更簡單、更易于維護且更不容易出錯。

使用方式如下:

  1. 安裝 babel-plugin-react-compiler:
npm install babel-plugin-react-compiler
  1. 然后,在 next.config.js 中添加 experimental.reactCompiler 選項 :
const nextConfig = {
  experimental: {
    reactCompiler: true,
  },
};
 
module.exports = nextConfig;
  1. 或者,可以將編譯器配置為以“選擇加入”模式運行,如下所示:
const nextConfig = {
  experimental: {
    reactCompiler: {
      compilationMode: 'annotation',
    },
  },
};
 
module.exports = nextConfig;

3.更好地錯誤提示

Next.js 14.1 對錯誤消息和 Hydration 錯誤進行了改進。Next.js 15 繼續在此基礎上進行改進,添加了改進的 Hydration 錯誤視圖。

Hydration 錯誤現在會顯示錯誤的源代碼,并提供有關如何解決問題的建議。

例如,這是 Next.js 14.1 中先前的錯誤消息:

圖片圖片

Next.js 15 RC 對此進行了改進:

圖片圖片

4.全新的緩存邏輯

Next.js App Router 推出了自定義緩存默認值。這些默認值旨在默認提供性能最高的選項,并可在需要時選擇退出。

并不再自動緩存!

根據反饋,重新評估了緩存啟發式方法以及它們如何與部分預渲染(PPR)等項目以及使用第三方庫進行交互。在 Next.js 15 中,將請求、路由處理程序和客戶端路由器緩存的緩存默認GET設置從默認緩存更改為默認不緩存。

如果想要緩存,那么需要手動配置,以下是一個使用 faetch API 的示例:

fetch('https://...', { cache: 'force-cache' | 'no-store' });

5.逐步采用部分預渲染(實驗性)

在 Next.js 14 中,引入了部分預渲染 (PPR) - 一種結合靜態和動態渲染的優化在同一頁上。

除非使用動態函數,否則 Next.js 目前默認為靜態渲染例如cookies()、、headers()以及未緩存的數據請求。

這些 API 將整個路由選擇為動態渲染。使用 PPR,開發者可以將任何動態 UI 包裝在 Suspense 邊界中。當新請求進入時,Next.js 將立即提供靜態 HTML shell,然后在同一個 HTTP 請求中渲染和流式傳輸動態部分。

為了允許逐步采用,新版本添加了 experimental_ppr 路線配置選項,用于將特定的布局和頁面選擇到 PPR 中:

import { Suspense } from "react"
import { StaticComponent, DynamicComponent } from "@/app/ui"
 
export const experimental_ppr = true
 
export default function Page() {
  return {
     <>
      <StaticComponent />
      <Suspense fallback={...}>
       <DynamicComponent />
      </Suspense>
     </>
  };
}

6.在響應后執行代碼next/after(實驗性)

在處理用戶請求時,服務器通常會執行與計算響應直接相關的任務。但是,開發者可能需要執行日志記錄、分析和其他外部系統同步等任務。

由于這些任務與響應沒有直接關系,因此用戶不必等待它們完成。

after()是一個新的實驗性 API,它通過允許開發者在響應完成流式傳輸后安排要處理的工作來解決此問題,從而使輔助任務能夠在不阻塞主響應的情況下運行。

要使用它,請添加 experimental.after 到 next.config.js:

const nextConfig = {
  experimental: {
    after: true,
  },
};
 
module.exports = nextConfig;

責任編輯:武曉燕 來源: 程序員Sunday
相關推薦

2023-12-10 14:19:31

JupyterPython編碼

2024-07-31 08:38:36

2020-11-10 07:11:23

Linux內核補丁

2011-03-18 09:56:19

JavaScript

2012-11-15 09:59:35

HTML5WebHTML5特效

2024-08-05 08:38:13

2020-12-22 15:47:02

Python開發工具

2012-03-01 11:32:18

硅谷女性

2011-04-07 11:33:00

HTML 5JavaScript

2021-11-29 07:02:24

Python函數操作

2025-02-17 11:10:49

2020-02-19 14:47:25

人工智能技術無人駕駛

2022-03-23 15:11:04

Arch LinuxLinuxCutefish 桌

2024-05-16 11:09:40

Python字符串代碼

2023-03-16 14:25:43

GPT-4人工智能

2010-02-22 14:00:29

Visual Stud

2024-02-04 18:20:53

AI模型代碼

2022-01-26 13:00:07

Vue.js UI組件Web

2018-06-19 07:49:49

物聯網足球科技世界杯

2023-11-18 09:07:59

Go語言技巧
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲国产精品一区在线观看 | 成人在线免费视频 | 91中文字幕在线 | 欧美视频1 | 久久亚洲一区二区三区四区 | 91精品久久久久久久久久入口 | 日韩一区二区三区在线 | 亚洲啪啪 | h视频在线观看免费 | 华丽的挑战在线观看 | 亚洲欧洲国产视频 | 国产伦一区二区三区视频 | 国产91网站在线观看 | 亚洲天堂中文字幕 | 天天在线操 | 中文字幕11页 | www.888www看片 | 精品久久国产老人久久综合 | 91传媒在线观看 | 国产97碰免费视频 | www久久| 农夫在线精品视频免费观看 | 国产精品不卡视频 | 日本a v在线播放 | 日日久 | 正在播放国产精品 | 成人网视频 | 国产天天操 | 久久国产精品-国产精品 | 国产精品2区 | 成人av电影天堂 | 在线观看国产 | 久久新 | 亚洲视频中文字幕 | 99亚洲精品视频 | 欧美精品乱码99久久影院 | 亚洲第一视频网站 | 岛国av在线免费观看 | 国产一区二区三区视频 | 免费观看一级特黄欧美大片 | 色综合久久久久 |