日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

TC39全新提案【Signals】V0草案已公布,狀態(tài)管理將迎來全新革命?

來源: 責(zé)編: 時間:2024-06-25 17:17:56 148觀看
導(dǎo)讀Hello,大家好,我是 Sunday。今天咱們來看 TC39 的新提案 Signals 信號。該提案主要應(yīng)用在 狀態(tài)管理 相關(guān)的場景下,可以結(jié)合目前狀態(tài)管理工具(Vuex、Pinia、Redux、MobX 或者是單純的 ref(Vue3 中聲明響應(yīng)式數(shù)據(jù)的方案) 等)實(shí)

Hello,大家好,我是 Sunday。Fyt28資訊網(wǎng)——每日最新資訊28at.com

今天咱們來看 TC39 的新提案 Signals 信號。該提案主要應(yīng)用在 狀態(tài)管理 相關(guān)的場景下,可以結(jié)合目前狀態(tài)管理工具(Vuex、Pinia、Redux、MobX 或者是單純的 ref(Vue3 中聲明響應(yīng)式數(shù)據(jù)的方案) 等)實(shí)現(xiàn)全新的解決方案。Fyt28資訊網(wǎng)——每日最新資訊28at.com

目前猶大也在 vue 官網(wǎng)中提供了 Connection to Signals(與信號 (signal) 的聯(lián)系) 的概念,并提到 Signal 的重要性Fyt28資訊網(wǎng)——每日最新資訊28at.com

那么下面咱們就來看看這個 Signal 到底是個什么東西。Fyt28資訊網(wǎng)——每日最新資訊28at.com

什么是 TC39 以及標(biāo)準(zhǔn)提案流程

想要了解 Signal 咱們先來看看 TC39 提案!Fyt28資訊網(wǎng)——每日最新資訊28at.com

TC39 提案是指由ECMAScript(JavaScript的標(biāo)準(zhǔn))技術(shù)委員會TC39(Technical Committee 39)提出的標(biāo)準(zhǔn)改進(jìn)建議。TC39負(fù)責(zé)JavaScript語言的演進(jìn)和標(biāo)準(zhǔn)化工作。一個提案從最初的想法到最終成為標(biāo)準(zhǔn),需要經(jīng)過多個階段的審核和修改。以下是提案的各個階段:Fyt28資訊網(wǎng)——每日最新資訊28at.com

  1. Strawman(稻草人階段):這個階段是一個初步的想法,可能沒有具體的實(shí)現(xiàn)細(xì)節(jié),目的是引發(fā)討論和反饋。
  2. Proposal(提案階段):在這個階段,提案需要有一個詳細(xì)的規(guī)范描述,并且至少有一個實(shí)現(xiàn)。提案會在TC39會議上討論,若獲得足夠支持,則進(jìn)入下一階段。
  3. Draft(草案階段):在這個階段,提案已經(jīng)有了詳細(xì)的規(guī)范文檔,并且需要有至少兩個不同的實(shí)現(xiàn)。提案在這個階段需要進(jìn)行更廣泛的測試和反饋。
  4. Candidate(候選階段):提案在這個階段被認(rèn)為是穩(wěn)定的,并且所有可能的改進(jìn)建議已經(jīng)納入。規(guī)范文檔在這個階段已經(jīng)基本定型,剩下的工作主要是驗(yàn)證和確保沒有遺漏的錯誤。
  5. Finished(完成階段):提案在這個階段成為ECMAScript標(biāo)準(zhǔn)的一部分,將被正式發(fā)布。此時,提案的內(nèi)容已經(jīng)被完全采納和記錄。

為什么需要 Signals(信號)

要開發(fā)復(fù)雜的用戶界面 (UI),JavaScript 應(yīng)用程序開發(fā)人員需要以高效的方式 存儲、計(jì)算、使?fàn)顟B(tài)失效、同步并將狀態(tài)推送到應(yīng)用程序的視圖層。UI 通常不僅僅涉及管理簡單的值,還經(jīng)常涉及渲染計(jì)算狀態(tài),而計(jì)算狀態(tài)依賴于其他值或狀態(tài)的復(fù)雜樹,而這些值或狀態(tài)本身也是計(jì)算出來的。Fyt28資訊網(wǎng)——每日最新資訊28at.com

Signals 的目標(biāo)是提供用于管理此類應(yīng)用程序狀態(tài)的基礎(chǔ)設(shè)施,以便開發(fā)人員可以專注于業(yè)務(wù)邏輯,而不是這些重復(fù)的細(xì)節(jié)。Fyt28資訊網(wǎng)——每日最新資訊28at.com

咱們來看一個例子(基于 preact):Fyt28資訊網(wǎng)——每日最新資訊28at.com

import { signal } from "@preact/signals";const count = signal(0);// 通過訪問.Value讀取信號的值:console.log(count.value);   // 0// 更新信號的值count.value += 1;// 訪問值也必須要有 .valueconsole.log(count.value);  // 1

通過以上代碼我們可以看出來 Signals 與 vue 中的 ref 使用是有些類似的。它們都需要通過一個方法進(jìn)行初始化,同時訪問的時候需要 .valueFyt28資訊網(wǎng)——每日最新資訊28at.com

Signals 與框架的關(guān)聯(lián)

除了我們剛才看到的 preact 之外,還有很多的框架也實(shí)現(xiàn)了 Signals。比如:Fyt28資訊網(wǎng)——每日最新資訊28at.com

  • Solid
  • Angular
  • Qwik

從根本上說,Signals 是與 Vue 中的 ref 相同的響應(yīng)性基礎(chǔ)類型(再前面我們也看到了類似的代碼例子)。**Signals是一個在訪問時跟蹤依賴、在變更時觸發(fā)副作用的值容器。Fyt28資訊網(wǎng)——每日最新資訊28at.com

這種基于響應(yīng)性基礎(chǔ)類型的范式在前端領(lǐng)域并不是一個特別新的概念:它可以追溯到十多年前的 Knockout observables 和 Meteor Tracker 等實(shí)現(xiàn)。Fyt28資訊網(wǎng)——每日最新資訊28at.com

Vue 的選項(xiàng)式 API 和 React 的狀態(tài)管理庫 MobX 也是基于同樣的原則,只不過將基礎(chǔ)類型這部分隱藏在了對象屬性背后。Fyt28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-96424-0.htmlTC39全新提案【Signals】V0草案已公布,狀態(tài)管理將迎來全新革命?

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 盤點(diǎn)JavaScript 事件和方法提交那些事兒

下一篇: 五分鐘了解 LangChain 的路由鏈

標(biāo)簽:
  • 熱門焦點(diǎn)
Top 主站蜘蛛池模板: 扎兰屯市| 德令哈市| 镇安县| 安阳县| 和硕县| 徐汇区| 东台市| 石林| 金昌市| 仙游县| 南郑县| 通海县| 东明县| 东光县| 淮北市| 眉山市| 阿克苏市| 通许县| 江门市| 富平县| 彭水| 门源| 饶阳县| 南和县| 津南区| 体育| 龙里县| 大邑县| 丰城市| 新乡县| 汉中市| 霍邱县| 霍州市| 南木林县| 定襄县| 浦江县| 香港| 远安县| 吉木乃县| 瓦房店市| 横山县|