Comment gérer les fetch API AJAX de réponse à Réagir

Je fais une simple requête AJAX avec l'extraction de l'API de Réagir, en particulier dans le componentDidMount() fonction.

Il est au travail, parce que la console s'affiche pour enregistrer le résultat. Cependant, je ne sais pas comment accéder à la réponse...

componentDidMount = () => {

      let URL = 'https://jsonplaceholder.typicode.com/users'

         fetch(URL)
         .then(function(response) {
            let myData = response.json()
            return myData;
         })
         .then(function(json) {
            console.log('parsed json', json)
         })
         .catch(function(ex) {
            console.log('parsing failed', ex)
         })

   } //end componentDidMount

J'ai essayé d'accéder myData en dehors de la méthode de récupération, mais cela déclenche une erreur en disant qu'il n'est pas défini. Donc, il est seulement accessible dans le champ d'application de la fonction.

J'ai ensuite essayé ceci:

     .then(function(response) {
        let myData = response.json()
        //return myData;
        this.setState({
           data: myData
        })
     })

Ce temps, j'ai Cannot read property 'setState' of undefined(…)

Comment puis-je passer le chercher réponse à l'état, ou même simplement une variable globale?


Mise à JOUR

import React, { Component } from 'react';
import './App.css';

class App extends Component {

   constructor(props) {
      super(props);
      this.state = {
         data: null
      }
   }

   componentDidMount() {
      let URL = 'https://jsonplaceholder.typicode.com/users'  
         fetch(URL)
         .then( (response) => {
            let myData = response.json()
            //return myData;
            this.setState({
               data: myData
            })
         })
         .then( (json) => {
            console.log('parsed json', json)
         })
         .catch( (ex) => {
            console.log('parsing failed', ex)
         })
         console.log(this.state.data)
   } //end componentDidMount

  render() {
    return (
      <div className="App">
         {this.state.data}
      </div>
    );
  }
}

export default App;

OriginalL'auteur Paulos3000 | 2016-09-30