2017-02-02 4 views
0

Ich versuche, einen Getter zu schreiben, die eine einfache Zahl von Zustand zurückkehrt, verringert um 1Staat von Getter mutiert

const getters = { 
    getCurrentView: state => { 
    return types.PAGES_OBJECT[state.currentViewNum] 
    }, 
    getCurrentViewNum: state => { 
    return state.currentViewNum-- 
    } 
}; 

dies jedoch mutiert tatsächlich den Zustand.

Ich habe versucht, es zu einer var zuweisen, aber es scheint, dass var wird eine direkte Referenz auf den Zustand.

Wie mache ich das, ohne muting Zustand?

+1

Suchst du das? 'zurück state.currentViewNum - 1' –

+0

@ChrisG Yeh .... Ich werde jetzt ausblenden – softcode

+0

Vergessen Sie nicht, die Frage zu löschen;) –

Antwort

3

Ist das nicht x-- entspricht x = x - 1?

Der Operator -- mutiert Ihr Objekt.

zurück state.currentViewNum - 1 statt

+0

Ja. Ich werde jetzt weinen gehen – softcode

+0

Irgendeine Idee, warum var eine Referenz tho passiert wird? – softcode

+0

Der Operator ++ inkrementiert eine Variable und gibt den Wert der Variablen zurück, vielleicht aus diesem Grund gibt sie einen Verweis auf Ihr Objekt zurück. – GantTheWanderer