Vue 分享(第一期)

Vue Logo

年前上班摸魚(yú)時(shí)間來(lái)寫(xiě)一個(gè)~~
那么關(guān)注過(guò)我的小伙伴都知道,我之前是搞過(guò)RN的,所以先來(lái)個(gè)ReactVue兩套框架的對(duì)比~~
TIP:
之前Vue項(xiàng)目,我就是在劃水,沒(méi)想到這個(gè)項(xiàng)目還是Vue~~媽蛋,沒(méi)辦法了,逃不掉?。≈荒苤匦聦?duì)待了~~

React 和 Vue 區(qū)別:

  1. 首先 React 是單向數(shù)據(jù)流:
    啥意思呢?個(gè)人理解就是老子捶兒子,兒子不能反抗,只能忍。
    Vue默認(rèn)雙向綁定的:
    又是啥意思呢?個(gè)人理解就是老子捶兒子,兒子特么不爽了,就起身揍老子了,開(kāi)始互搏了(這個(gè)解釋在Vue 1.0里是非常到位的,只是Vue 2.0就不能父子組件之間props雙向綁定了,就是只剩下組件 <–> DOM 之間的雙向綁定這一種了)。

    數(shù)據(jù)流的區(qū)別

  2. 渲染模版方式不同:
    Reactrender函數(shù)是支持閉包特性的,所以我們import的組件在render中可以直接調(diào)用。但是在Vue中,由于模板中使用的數(shù)據(jù)都必須掛在 this 上進(jìn)行一次中轉(zhuǎn),所以我們import 一個(gè)組件完了之后,還需要在 components 中再聲明下。

  3. VuexRedux 的區(qū)別:

    • Vuex中,$store被直接注入到了組件實(shí)例中,而且是全局都可以 用,注冊(cè)一次,可以瞎JB用,使用dispatch或者commit提交更新,其實(shí)我覺(jué)得不用在actions里搞個(gè)commit 下 mutations 里的方法,而直接在 component 里去 commit 方法也是可以的,以為我試過(guò)沒(méi)啥卵區(qū)別~~雞肋(我唯一解釋的通的原因就是模仿Redux,搞個(gè)類(lèi)似于ActionType的東西吧)。
    • Redux中,要用store 里的數(shù)據(jù),那就要多寫(xiě)好幾步:先搞個(gè)Provider把我們的組件套一套,不然獲取不到,再把我們對(duì)應(yīng)組件需要顯示的數(shù)據(jù),用connect把需要的指定的 state指定的 action連接起來(lái),也就是你之前寫(xiě)的子 reducer。
  4. 再來(lái)看下代碼的區(qū)分:

Vuex:

mport Vue from 'vue';

import Vuex from 'vuex';

Vue.use(Vuex);

const index = new Vuex.Store({
    state:{},
    mutations:{},
    actions:{},
});

export default index;

TIP:
如果你要用modules的話(huà),每個(gè)單獨(dú)的里面都要寫(xiě)上namespaced:true


Redux:

在 Provider 里面拿 store
render() {
        return (
            <Provider store={ConfigureStore}>
                <NavigationIndex/>
            </Provider>
        )
    }
store 的注冊(cè)
import {createStore, applyMiddleware, compose} from 'redux';
import thunkMiddleware from 'redux-thunk';
import logger from 'redux-logger'

import rootReducer from '../reducers/index';

function RootStore(initialState) {
    return createStore(
        rootReducer,
        initialState,
        compose(applyMiddleware(thunkMiddleware,logger))
    )
}

const Store=RootStore();
export default Store;
ActionType:
//供應(yīng)商搜索信息
export const GET_SUPPLIER_INFO_NEW = "GET_SUPPLIER_INFO_NEW_QCC";
//復(fù)制
export const GET_DEFAULT_DATA_COPY = 'GET_DEFAULT_DATA_COPY_TYPE_QCC';
//清空?qǐng)D片
export const CLEAR_IMAGES = 'CLEAR_IMAGES_QCC';
頁(yè)面和數(shù)據(jù)玩的捆綁
export default connect((state) => {
    const {CheckOutReducer}=state;
    return {
        CheckOutReducer
    }
}, Actions)(CheckOut)

TIP:
再補(bǔ)充一點(diǎn):在 Redux中,ActionType 命名不要一致,也就是你哪怕當(dāng)前頁(yè)面只捆綁(SM 了解一下,嘿嘿~)Reducer A,但是當(dāng)你Reducer B中的ActionType也是同一個(gè),也會(huì)觸發(fā)的,因?yàn)樗撬械?code>Reducer都會(huì)來(lái)一遍~~

來(lái)來(lái)來(lái),我們來(lái)總結(jié)下:看到以上紅色字體可以得出,Redux是不是比Vue復(fù)雜的同時(shí),更加框架化,頁(yè)面必須和你要使用的數(shù)據(jù)關(guān)聯(lián)起來(lái),你才能用,不像Vuex特么注冊(cè)一次,你就可以瞎雞巴全局拿來(lái)用,當(dāng)然Vuex里的modules也是幫助你類(lèi)似的效果 ......
媽的,打你好累,快點(diǎn)結(jié)束吧~也就是ReactVue更偏向于構(gòu)建穩(wěn)定大型的應(yīng)用。


哎喲~背有點(diǎn)僵硬了,第一期理論全是理論沒(méi)什么卵用,下期來(lái)個(gè)干貨,把遇到的問(wèn)題都來(lái)列一列。
最近肺炎恐慌,大家減少外出,祝冬安!
那么我們下期再見(jiàn)~


推薦鏈接
IT 界寄來(lái)的書(shū)信系列
IT 界寄來(lái)的段子系列
IT 界起來(lái)的書(shū)籍系列
搞笑我們是用心系列
React Native 專(zhuān)題

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,443評(píng)論 6 532
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,530評(píng)論 3 416
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事?!?“怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 176,407評(píng)論 0 375
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 62,981評(píng)論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,759評(píng)論 6 410
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 55,204評(píng)論 1 324
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,263評(píng)論 3 441
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 42,415評(píng)論 0 288
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,955評(píng)論 1 336
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,782評(píng)論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,983評(píng)論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,528評(píng)論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,222評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 34,650評(píng)論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 35,892評(píng)論 1 286
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,675評(píng)論 3 392
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,967評(píng)論 2 374