react中出現的 hydrate 這個單詞到底是什麼意思

時間 2021-05-06 07:02:40

1樓:伊撒爾

簡單說就是復用 dom,也可以理解為 dom2vdom,fre 中的實現只有幾行:

const

recycleNode=(

node

)=>node

.nodeType

===TEXT_NODE

?createText

(node

.nodeValue):

createVNode

(node

.nodeName

.toLowerCase

(),{},

node

.childNodes

.map

(recycleNode

),SSR_NODE

)值得一提的是,這個方法的實現有幾個不同的級別

只復用樹結構,不復用 attributes:fre 的實現

爭取復用盡可能多地資訊:react 的實現

區域性復用:preact 想搞但沒搞定

fre 實現的是最小程度的水合,也就是只復用基本的樹的結構,這可能會產生更多的 dom 操作,效能有一些損失,但無關緊要

因為和 preact 不同,server 端的渲染我會重新實現,也就是 fizz 架構

新的架構,直接的效能提公升是來自於流式併發渲染,這樣可以彌補一下下水合效能的損失

2樓:Kpax Qin

在火車上,簡單答一下這個詞在react中是ssr相關的,因為ssr時伺服器輸出的是字串,而瀏覽器端需要根據這些字串完成react的初始化工作,比如建立元件例項,這樣才能響應使用者操作。這個過程就叫hydrate,有時候也會說re-hydrate

可以把hydrate理解成給乾癟的字串」注水」

Go中出現strconv Itoa i int 這種見名不識義的API是否說明設計者設計語言水平不高

LMO 這兩個函式strconv.Itoa和strconv.Atoi是為了迎合老C C 程式設計師懷舊感的.對它們無感者用strconv.FormatInt和strconv.ParseInt即可. flashyiyi 因為人家不支援過載啊,不支援過載的語言型別轉換都是這樣的,兩端都寫全名太長。雖然過...

在Ansys workbench中出現了乙個錯誤 An unknown error occurred during the ANSYS solve 請問怎麼解決?

徐曉鋒 這個就是指在計算中出現了問題,導致計算結構無法收斂。主要修改兩點,乙個是網格劃分。這個主要是看有沒有劃分的比較畸形的單元,就是那種角度很小,很尖銳的單元,這些單元很難收斂。二是修改荷載步數。子步數一定的盡量小,那樣就能一點一點的計算,容易收斂,不過計算時間會增加。 挪威的呻吟 我找到答案了進...

怎麼放棄生命中出現的「光」?

Philli.N 我想,你並不需要放棄 光 你只要在心裡保留它。我能明白這種艱難的處境,它並不是三言兩語能夠醫治得好的。我知道,時間實際上醫不好這樣的傷,它會埋在心裡,隱隱做痛。我想說,或許可以試試接受這一切。他離開了你,你還在想他。難過?沒有問題的,我們是人,難過是多麼正常的情緒。你的心裡痛,讓自...