站長資訊網
        最全最豐富的資訊網站

        一起聊聊Hooks對Vue而言意味著什么

        本篇文章給大家帶來了關于Hooks與vue的相關知識,Hooks是React在V16.7.0-alpha版本中引入的,Hooks主要是對模式的復用提供了一種更明確的思路,希望對大家有幫助。

        一起聊聊Hooks對Vue而言意味著什么

        不要把 Hooks 和 Vue 的生命周期鉤子(Lifecycle Hooks) 弄混了,Hooks 是 React 在 V16.7.0-alpha 版本中引入的,而且幾天后 Vue 發布了其概念驗證版本。雖然 Hooks 是由 React 提出的,它是一個對各 JavaScript 框架生態系統都有價值的、重要的組合機制,因此我們今天會花一點時間討論 Hooks 意味著什么。

        Hooks主要是對模式的復用提供了一種更明確的思路 —— 避免重寫組件本身,并允許有狀態邏輯的不同部分能無縫地進行協同工作。

        最初的問題

        就 React 而言,問題在于:在表達狀態的概念時,類是最常見的組件形式。無狀態函數式組件也非常受歡迎,但由于它們只能單純地渲染,所以它們的用途僅限于展示任務。

        類本身存在一些問題。例如,隨著 React 變得越來越流行,類的問題也普遍成為新手的阻礙。開發者為了理解 React,也必須理解類。綁定使得代碼冗長且可讀性差,并且需要理解 JavaScript 中的 this。這里還討論了使用類所帶來的一些優化障礙。

        在邏輯復用方面,我們通常使用 render props 和高階組件等模式。但使用這些模式后會發現自己處于類似的“厄運金字塔”中 —— 樣式實現地獄,即過度使用嵌套可能會導致組件難以維護。這導致我想對 Dan Abramov 像喝醉了一樣大吼大叫,沒有人想要那樣。

        Hooks 允許我們使用函數調用來定義組件的有狀態邏輯,從而解決這些問題。這些函數調用變得更具有組合性、可復用性,并且允許我們在使用函數式組件的同時能夠訪問和維護狀態。React 發布 Hooks 時,人們很興奮 —— 下面你可以看到 Hooks 展示的一些優勢,關于它們如何減少代碼和重復:

        在維護方面,簡單性是關鍵,Hooks 提供了一種單一的、函數式的方式來實現邏輯共享,并且可能代碼量更小。

        為什么 Vue 中需要 Hooks?

        讀到這里你肯定想知道 Hooks 在 Vue 中必須提供什么。這似乎是一個不需要解決的問題。畢竟,類并不是 Vue 主要使用的模式。Vue 提供無狀態函數式組件(如果需要它們),但為什么我們需要在函數式組件中攜帶狀態呢?我們有 mixins 用于組合可以在多個組件復用的相同邏輯。問題解決了。

        我想到了同樣的事情,但在與 Evan You 交談后,他指出了我忽略的一個主要用例:mixins 不能相互消費和使用狀態,但 Hooks 可以。這意味著如果我們需要鏈式封裝邏輯,可以使用 Hooks。

        Hooks 實現了 mixins 的功能,但避免了 mixins 帶來的兩個主要問題:

        • 允許相互傳遞狀態。
        • 明確指出邏輯來自哪里。

        如果使用多個 mixins,我們不清楚哪個屬性是由哪個 mixins 提供的。使用 Hooks,函數的返回值會記錄消費的值。

        那么,這在 Vue 中如何運行呢?我們之前提到過,在使用 Hooks 時,邏輯在函數調用時表達從而可復用。在 Vue 中,這意味著我們可以將數據調用、方法調用或計算屬性調用封裝到另一個自定義函數中,并使它們可以自由組合。數據、方法和計算屬性現在可用于函數式組件了。

        例子

        讓我們來看一個非常簡單的 hook,以便我們在繼續學習 Hooks 中的組合例子之前理解構建塊。

        useWat?

        好的,Vue Hooks 和 React Hooks 之間存在交叉部分。使用 use 作為前綴是 React 的約定,所以如果你在 React 中查找 Hooks,你會發現 Hooks 的名稱都會像 useState、useEffect 等。

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 国产一区二区精品| 四虎精品免费永久免费视频| 日韩精品无码Av一区二区| 国产精品视频第一区二区三区| 国产午夜无码精品免费看| 2020久久精品国产免费| 久久精品国产精品青草| 精品人妻少妇一区二区| 亚洲国产精品无码久久青草| 无码人妻精品一区二区三区99仓本 | 国产日韩精品中文字无码| 全国精品一区二区在线观看| 午夜精品射精入后重之免费观看| 国产高清精品一区| 九九精品在线观看| 精品久久久久中文字幕日本| 亚洲乱码精品久久久久..| 国产精品爽黄69天堂a| 国产三级国产精品国产普男人 | 日韩精品无码一本二本三本| 人人妻人人澡人人爽欧美精品| 久久精品国产99国产精品| 精品久久久久久无码专区| 午夜精品一区二区三区在线观看| 精品久久久久中文字| 国产欧美精品专区一区二区| AAA级久久久精品无码区| 2021国产三级精品三级在专区| 亚洲国产精品第一区二区三区| 国产手机在线精品| 国产成人精品综合久久久| 99久久精品免费| A级毛片无码久久精品免费| 久久亚洲精品视频| 四虎精品成人免费观看| 中文国产成人精品久久亚洲精品AⅤ无码精品 | 久久精品国产网红主播| 国产精品理论片在线观看| 6080亚洲精品午夜福利| 亚洲精品高清国产一久久| 欧美精品香蕉在线观看网|