Vuex的使用和理解

簡(jiǎn)單說一說vuex使用以及對(duì)它的理解粹庞?

生命周期

Vuex的定義

Vuex是一個(gè)專為Vue.js應(yīng)用程序開發(fā)的狀態(tài)管理模式凉当。它采用集中式存儲(chǔ)管理應(yīng)用的所有組件的狀態(tài),并以相應(yīng)的規(guī)則保證狀態(tài)以一種可預(yù)測(cè)的方式發(fā)生變化。Vuex 也集成到 Vue 的官方調(diào)試工具 devtools extension (opens new window)漫贞,提供了諸如零配置的 time-travel 調(diào)試甸箱、狀態(tài)快照導(dǎo)入導(dǎo)出等高級(jí)調(diào)試功能

理解

  1. vuex 是 vue 專用的狀態(tài)管理庫育叁。它以全局方式集中管理應(yīng)用的狀態(tài),并且可以保證狀態(tài)變更的可預(yù)測(cè)性芍殖。
  2. vuex 主要解決的問題是多組件之間狀態(tài)共享的問題豪嗽,利用各種組件通信方式,我們雖然能夠做到狀態(tài)共享豌骏,但是往往需要在多個(gè)組件之間保持狀態(tài)的一致性龟梦,這種模式很容易出現(xiàn)問題,也會(huì)使程序邏輯變得復(fù)雜窃躲。 vuex 通過把組件的共享狀態(tài)抽取出來计贰,以全局單例模式管理,這樣任何組件都能用一致的方式獲取和修改狀態(tài)蒂窒,響應(yīng)式的數(shù)據(jù)也能夠保證簡(jiǎn)潔的單向數(shù)據(jù)流動(dòng)躁倒,我們的代碼將變得更結(jié)構(gòu)化且易維護(hù)。
  3. vuex 并非必須的洒琢,它幫我們管理共享狀態(tài)秧秉,但卻帶來更多的概念和框架。如果我們不打算開發(fā)大型單頁應(yīng)用或者我們的應(yīng)用并沒有大量全局的狀態(tài)需要維護(hù)衰抑,完全沒有使用 vuex 的必要象迎。一個(gè)簡(jiǎn)單的 Store 模式就足夠了。反之呛踊, Vuex 將會(huì)成為自然而然的選擇砾淌。引用 Redux 的作者 Oan Abramov 的話說就是:Flux 架構(gòu)就像眼鏡:您自會(huì)知道什么時(shí)候需要它。
  4. 我在使用 vuex 過程中有如下理解:首先是對(duì)核心概念的理解和運(yùn)用谭网,將全局狀態(tài)放入 state 對(duì)象中汪厨,它本身一棵狀態(tài)樹,組件中使用 Store 實(shí)例的 state 訪問這些狀態(tài)蜻底;然后有配套的 mutation 方法修改這些狀態(tài)骄崩,并且只能用 mutation 修改狀態(tài),在組件中調(diào)用 commit 方法提交 mutation 薄辅;如果應(yīng)用中有異步操作或者復(fù)雜邏輯組合要拂,我們需要編寫 action ,執(zhí)行結(jié)束如果有狀態(tài)修改仍然需要提交 mutation 站楚,組件中調(diào)用這些 action 使用 dispatch 方法派發(fā)脱惰。最后是模塊化,通過 modules 選項(xiàng)組織拆分出去的各個(gè)子模塊窿春,在訪問狀態(tài)時(shí)注意添加子模塊的名稱拉一,如果子模塊有設(shè)置 namespace 采盒,那么在提交 mutation 和派發(fā) action 時(shí)還需要額外的命名空間前綴。
  5. vuex 在實(shí)現(xiàn)單項(xiàng)數(shù)據(jù)流時(shí)需要做到數(shù)據(jù)的響應(yīng)式蔚润,通過源碼的學(xué)習(xí)發(fā)現(xiàn)是借用了 vue 的數(shù)據(jù)響應(yīng)化特性實(shí)現(xiàn)的磅氨,它會(huì)利用 Vue將state 作為 data 對(duì)其進(jìn)行響應(yīng)化處理,從而使得這些狀態(tài)發(fā)生變化時(shí)嫡纠,能夠?qū)е陆M件重新渲染烦租。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市除盏,隨后出現(xiàn)的幾起案子叉橱,更是在濱河造成了極大的恐慌,老刑警劉巖者蠕,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件窃祝,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡踱侣,警方通過查閱死者的電腦和手機(jī)粪小,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來泻仙,“玉大人糕再,你說我怎么就攤上這事∮褡” “怎么了突想?”我有些...
    開封第一講書人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)究抓。 經(jīng)常有香客問我猾担,道長(zhǎng),這世上最難降的妖魔是什么刺下? 我笑而不...
    開封第一講書人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任绑嘹,我火速辦了婚禮,結(jié)果婚禮上橘茉,老公的妹妹穿的比我還像新娘工腋。我一直安慰自己,他們只是感情好畅卓,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開白布擅腰。 她就那樣靜靜地躺著,像睡著了一般翁潘。 火紅的嫁衣襯著肌膚如雪趁冈。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,036評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音渗勘,去河邊找鬼沐绒。 笑死,一個(gè)胖子當(dāng)著我的面吹牛旺坠,可吹牛的內(nèi)容都是我干的乔遮。 我是一名探鬼主播,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼价淌,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼申眼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蝉衣,我...
    開封第一講書人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎巷蚪,沒想到半個(gè)月后病毡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡屁柏,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年啦膜,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片淌喻。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡僧家,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出裸删,到底是詐尸還是另有隱情八拱,我是刑警寧澤,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布涯塔,位于F島的核電站肌稻,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏匕荸。R本人自食惡果不足惜爹谭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望榛搔。 院中可真熱鬧诺凡,春花似錦、人聲如沸践惑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽童本。三九已至真屯,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間穷娱,已是汗流浹背绑蔫。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國打工运沦, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人配深。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓携添,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親篓叶。 傳聞我的和親對(duì)象是個(gè)殘疾皇子烈掠,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • ①Vuex 是一個(gè)專為 Vue.js 應(yīng)用程序開發(fā)的狀態(tài)管理模式 狀態(tài)管理:簡(jiǎn)單的理解就是統(tǒng)一管理和維護(hù)各個(gè)vue...
    翎雪_b20f閱讀 775評(píng)論 0 0
  • 1.在項(xiàng)目main.js中引入store,并掛載 2.建立store倉庫缸托,結(jié)構(gòu)如下 3.state的理解單一狀態(tài)樹...
    以手畫圓心閱讀 3,524評(píng)論 2 7
  • 1.vuex是什么左敌? vuex是一個(gè)專門為vue.js應(yīng)用程序開發(fā)的狀態(tài)管理模式。采用集中式存貯管理應(yīng)用的所有組件...
    紅_e8d9閱讀 1,441評(píng)論 1 1
  • 面試題:談?wù)勀銓?duì)對(duì)vuex的理解 溫馨提示: 1.vuex是什么俐镐? 2.vuex的核心概念矫限; vuex的屬性; v...
    DreamofLimb閱讀 830評(píng)論 0 0
  • 之前寫過很多vue項(xiàng)目佩抹,項(xiàng)目中使用過vuex叼风,那個(gè)時(shí)候看vuex愣是云里霧里,都是照葫蘆畫瓢使用棍苹,沒有清楚弄明白无宿,...
    啥啥啥娜娜閱讀 20,596評(píng)論 4 22