2017-04-17 3 views
1

Ich verstehe was der Laden ist und der Zweck der Vuex, aber jetzt denke ich: „Was eigentlich ich in den Laden setzen“Vuex - Welche Daten sollten durch das Geschäft fließen?

Die SPA Ich baue eine Menge Daten. Anfangs habe ich nur das "Haupt" Zeug hineingelegt. Ist das aber falsch? Sollte die store tatsächlich alle Daten für das SPA halten? Wenn ich Daten auf der Webseite präsentiere, sollte das durch die store fließen?

Antwort

1

Als Faustregel gilt, dass die Daten nur von einer der Komponenten verwendet werden, oder es ist ein Weg, der an das Kind weitergegeben wird. Sie sollten das auf Komponentenebene haben.

Aber wenn Daten geändert werden und von mehr als zwei Komponenten zugegriffen wird, kann es in einen zentralen Status versetzt werden: das ist vuex.

vom Zitiert docs:

, wenn Sie einen mittleren bis großen SPA bauen, die Chancen sind Sie laufen in Situationen, die Sie darüber nachdenken, machen, wie man besser Zustand behandeln außerhalb Ihre Vue-Komponenten, und Vuex wird der nächste Schritt für Sie sein . Es gibt ein gutes Zitat von Dan Abramov, der Autor von Redux:

Flux Bibliotheken sind wie Brillen: Sie wissen, wann Sie sie brauchen.

Sie können auch vue-hackernews Beispiel verweisen, wo Sie lists, users sind in vuex Speicher sehen können, während Komponenten auch data während spezifisch müssen nur die Komponente.

data in Komponente:

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 in vuex:

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

"wenn Daten geändert werden und den Zugriff von mehr als zwei Komponenten kann es in zentralisierten Zustand versetzt werden" <- Das ist wahrscheinlich eine gute Möglichkeit, darüber nachzudenken. 2 oder mehr Komponenten -> es geht in den Laden. – Garfonzo

Verwandte Themen