2017-04-17 17 views
1

私が何店があるとVuexの目的が、今、私は考えてい理解:Vuex - 店舗を流れるデータは何ですか?

を「私は実際に店で何を置けばいいの?」

SPA I'm buildingは多くのデータを処理します。当初、私は「メイン」のものだけを入れていました。しかし、それは間違っていますか? storeは実際にを保持する必要がありますすべて SPAのデータですか?ウェブページにデータを表示すると、それはstoreに流れているはずですか?

答えて

1

データはコンポーネントのいずれかでのみ使用されているか、または子に伝播されているかどうかは、コンポーネントレベルで確認してください。

しかし、データが2つ以上のコンポーネントによって変更されてアクセスされる場合、それは集中化された状態に置くことができます。つまり、それはvuexです。

あなたは中〜大規模のSPAを構築している場合、チャンスはあなたがより良いの外 状態を処理する方法について考えさせるような状況に 実行を持っていますdocsから引用

あなたのVueコンポーネント、そしてVuexはあなたのために次のステップ になります。ダブ・アブラモフの朗読です。著者:

フラックスライブラリーは眼鏡のようなものです。

また、あなたがコンポーネントもdata間だけそのコンポーネントに固有のものでているがlistsusersは、vuex店である見ることができるvue-hackernews例を、参照することができます。コンポーネントで

data

vuexで
data() { 
    const data = { 
     loading: false, 
     transition: 'slide-up', 
     displayedPage: isInitialRender ? Number(this.$store.state.route.params.page) || 1 : -1, 
     displayedItems: isInitialRender ? this.$store.getters.activeItems : [] 
    } 
    isInitialRender = false 
    return data 
    }, 

state

state: { 
    activeType: null, 
    itemsPerPage: 20, 
    items: {/* [id: number]: Item */}, 
    users: {/* [id: string]: User */}, 
    lists: { 
     top: [/* number */], 
     new: [], 
     show: [], 
     ask: [], 
     job: [] 
    } 
    }, 
+0

<「データが、それは、集中状態にすることができますつ以上のコンポーネントによって変化し、アクセスされた場合、」 - それはおそらくですそれについて考える良い方法です。 2つ以上のコンポーネント - >それは店に行く。 – Garfonzo