La documentazione di React indica che la richiesta di ajax deve essere avviata dall'evento componentDidMount
ciclo di vita (vedere react docs).Perché la richiesta di ajax deve essere eseguita in componentDidMount nei componenti React?
Perché questo evento?
Nella maggior parte dei casi, quando si carica dati utilizzando ajax, voglio visualizzare un qualche tipo di barra di caricamento, ad esempio:
componentDidMount() {
this.setState({isLoading: true});
fetch(...)
.then(...)
.then(() => this.setState({isLoading: false})
}
ma questo spara render
metodo 3 volte (iniziale renda immediatelly seguiti modificando isLoading = true
e poi da isLoading = false
Cosa c'è che non va circa l'invio di richiesta AJAX da componentWillMount
evento?
Possibile duplicato di [Perché i documenti di React consigliano di eseguire AJAX in componentDidMount, non componentWillMount?] (Http://stackoverflow.com/questions/27139366/why-do-the-react-docs-recommend-doing-ajax -in-componentdidmount-not-componentwi) – mattias