首頁 > web前端 > js教程 > Vue高階組件的使用方法

Vue高階組件的使用方法

小云云
發布: 2018-01-09 10:06:22
原創
3952 人瀏覽過

本文主要介紹了探索Vue高階組件的使用,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟著小編過來看看吧,希望能幫助大家。

高階元件( HOC )是React 生態系統的常用詞彙, React 中程式碼重複使用的主要方式就是使用高階組件,並且這也是官方推薦的做法。而Vue 中復用程式碼的主要方式是使用mixins ,並且在Vue 中很少提到高階元件的概念,這是因為在Vue 中實作高階元件並不像React 中那麼簡單,原因在於ReactVue 的設計想法不同,但不是說在Vue 中就不能使用高階元件,只不過在Vue 中使用高階元件所帶來的效益相對於mixins 並沒有質的變化。本篇文章主要從技術性的角度闡述 Vue 高階元件的實現,並且會從 ReactVue 兩者的角度進行分析。

從React 說起

起初React 也是使用mixins 來完成程式碼重複使用的,例如為了避免元件不必要的重複渲染我們可以在元件中混入PureRenderMixin


const PureRenderMixin = require('react-addons-pure-render-mixin')
const MyComponent = React.createClass({
 mixins: [PureRenderMixin]
})
登入後複製

後來React 拋棄了這種方式,進而使用shallowCompare


const shallowCompare = require('react-addons-shallow-compare')
const Button = React.createClass({
 shouldComponentUpdate: function(nextProps, nextState) {
 return shallowCompare(this, nextProps, nextState);
 }
})
登入後複製

這需要你自己在元件中實作shouldComponentUpdate 方法,只不過這個方法具體的工作由shallowCompare 幫你完成,即淺比較。

再後來React 為了避免開發者在元件中總是要寫這樣一段同樣的程式碼,進而推薦使用React.PureComponent ,總之React 在一步步的脫離mixins ,他們認為mixinsReact 生態系統中並不是一種好的模式(注意:並沒有說mixins 不好,只針對React 生態系統),觀點如下:

1、 mixins 帶來了隱含依賴

2、 mixinsmixins 之間, mixins 與元件之間容易導致命名衝突

3、由於mixins 是侵入式的,它改變了原始組件,所以修改mixins 等於修改原始組件,隨著需求的增長mixins 將變得複雜,導致滾雪球的複雜性。

具體大家可以查看這篇文章 Mixins Considered Harmful 。不過 HOC 也不是銀彈,它自然帶來了它的問題,其觀點是: 使用普通組件配合 render prop 可以做任何 HOC 能做的事情 。

本篇文章不會過多討論 mixinsHOC 誰好誰壞,就像技術本身就沒有好壞之分,只有適合不適合。難道 ReactVue 這兩個哥們兒不也是這樣嗎

以上是Vue高階組件的使用方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板