2016-10-17 1 views
1

I-Zustandes im Konstruktor wie diese ist die Einrichtung - das gilt für Text, der sagt: „Daten abrufen ...“:Async-Funktion mit einem Ladebildschirm

this.state = { 
     loading: true 
    } 

Dann habe ich eine Asynchron-Funktion wie diese, die werde ein paar Daten bekommen.

componentDidMount() { 
    this.fetchData().done() 
    } 

    async fetchData() { 
    const response = await fetch(URL) 
    const json = await response.json() 
    const stars = json.stargazers_count 
    this.setState({ stars }) 
    } 

Wie kann ich wissen, wenn ich den isLoading Zustand auf false gesetzt und den Laden Text verbergen und die Daten angezeigt werden? Ich scheine hier ein Stück zu vermissen!

Dank Jordan

+0

async/erwarten ist nicht Teil des ES7. –

+0

@FelixKling ist es nicht offiziell als ES7-Vorschlag akzeptiert? Ich würde sagen, das ist nah genug. –

+0

@patrick: Vorschläge sind nicht Teil einer Veröffentlichung, bis sie Stufe 4 erreichen. ES7 (ES2016) wurde in diesem Jahr veröffentlicht und enthält keine async/await (http://www.ecma-international.org/ecma-262/7.0 /). Es wird Teil von ES2017 sein. –

Antwort

1

Wenn Sie stars in Ihrem Staat einsetzen, können Sie auch festlegen isLoading zu false

this.setState({ stars, isLoading: false }); 
Verwandte Themen