2016-08-25 4 views
0

ich bin Lernen Lebenszyklus Methoden reagieren und ich frage mich, wie man am besten Adresse dieses Szenario:Aktualisierung Reagieren Zustand nach Finished Rendering

Ich habe eine Komponente, die Informationen über jemandes Hobby

componentWillMount() { 
    this.props.fetchHobbies(this.props.params.id); 
    } 

holt die Daten werden in einem Druckminderer gesendet, die

als Stütze am unteren Rand der Komponente abgebildet wird
function mapStateToProps(state) { 
    return { 
    hobbies:state.hobbies.user 
    }; 
} 

ich habe eine Komponente namens twitterbootstrap, die auf meine Komponente beruht Status, um zu sehen, welche Zeilen ausgewählt sind.

const selectRowProp = { 
    mode: 'radio', 
    clickToSelect: true, 
    bgColor: "rgba(139, 195, 74, 0.71)", 
    selected: this.state.selected, 
}; 

Hier ist meine Frage. Ich möchte auf this.props.hobbies.selected zugreifen.

--UPDATE Ich verwende componentWillRecieveProps, da es eine setState Option hat.

Ich möchte this.props.hobbies.selected als die nächste Requisite verwendet werden. Wie würde ich das übernehmen?

+1

Können Sie componentWillReceiveProps verwenden? – ioseph

+0

@ioseph danke für den Tipp! Ich habe ein bisschen recherchiert und ich denke, das ist auf dem richtigen Weg. Weißt du, was die richtige Syntax für die Einstellung des Status "ausgewählt" auf this.props.hobbies.selected ist? – lost9123193

+1

ausgewählt: nextProps.hobbies –

Antwort

1

nextProps ist das Props-Objekt, das nach dem ersten Rendering übergeben wird. In der Funktion componentWillReceiveProps gibt es nichts, was next.props genannt wird. Sie können so etwas tun.

componentWillReceiveProps(nextProps){ 
    this.setState({selected:nextProps.hobbies }) 
} 
Verwandte Themen