2016-07-29 6 views
0

Dieser Codeabschnitt befindet sich am Ende einer Komponente mit dem Namen "Block".Wie kann ich ein Objekt in MeteorJS/React in einer Variablen speichern, um später zurückzukehren?

export default theBlockContainer = createContainer(({ params }) => { 

    return { 
     voteStatus:Meteor.user()['listofvoted'], 
    } 

}, Block); 

Der obige Code funktioniert perfekt, aber ich möchte es umgestalten.

Gibt es eine Möglichkeit für mich, das Bit "voteStatus: Meteor.user() ['listofvoted']" vor der return-Anweisung in eine Variable zu speichern, so dass die return-Anweisung nur die Variable zurückgeben muss?

Idealerweise so etwas wie dieses ...

export default theBlockContainer = createContainer(({ params }) => { 
    let temp = voteStatus:Meteor.user()['listofvoted'], 
    return { 
     temp; 
    } 

}, Block); 

Ich glaube, ich bin fehlt etwas Grundsätzliches, weil es wie ein straight forward Aufgabe scheint jedoch habe ich diese unzählige Male versucht und in ebenso zahlreichen Möglichkeiten, aber nur Compilerfehler erhalten.

+0

Versuchen: 'this.setState ({voteStatus: Meteor.user() [ 'listofvoted']})'. Dies verwendet den Status Ihrer "Block" -Komponente, um die Variable zu speichern. Und dann sollten Sie in der Lage sein, this.state.voteStatus; ' – grahan

Antwort

0
export default theBlockContainer = createContainer(({ params }) => { 
    this.setState({value: Meteor.user()['listofvoted']}); 
    return { 
     this.state.value; 
    } 
}, Block); 

Dieser Code wird für Sie arbeiten ..

+0

Danke, das funktioniert! Gibt es jedoch eine Möglichkeit, die Verwendung von Reaktionszuständen zu vermeiden? – Teedub

+0

Ja, Sie können speichern Wert in this.value = voteStatus: Meteor.user() ['listofvoted'] und erhalten Sie von this.value – jayesh

+0

, aber stellen Sie sicher, dass Sie durch diese Diskussion gehen, die klarer ist wann zu verwenden Zustand und wann nicht : http://stackoverflow.com/questions/25207703/instance-v-state-variables-in-react-js – jayesh

Verwandte Themen