Ich rufe eine API vor dem Mounten einer Komponente auf, aber mein Code ruft zweimal eine API auf. Meine Anforderung besteht darin, nach dem erfolgreichen API-Aufruf Jahresdaten anzuzeigen (es werden Jahresdaten zurückgegeben). Wenn ich die setState-Funktion innerhalb von componentWillMount verwende, sollte sie die render-Methode nicht aufrufen, aber in meinem Fall wird die render-Funktion auch mehrmals aufgerufen.componentWillMount wird zweimal ausgeführt
componentWillMount(){
// Year api call
var oauth=GetAuthToken()
if(this.props.options.apiName === 'year__c'){
var access_token=oauth.then((data) => {
var temp
temp=GetYear(data.access_token)
temp.then((obj) => {
this.setState({
year:obj
})
})
})
}
}
Nur als Nebenkommentar tendiere ich dazu, den Status nicht in der 'componentWillMount'-Funktion zu setzen, da es KEINEN erneuten Rendervorgang auslöst. Stattdessen verwende ich die Funktion 'componentDidMount'. – Fizz