No puedo extraer la variable de nombre de la salida del gráfico del siguiente código de reacción. tratando de almacenar el valor del nombre de la salida json recibida de la API en mi variable de estado en React. ¿Cómo lo hago?
state = { auth: false, username: '', access_token: '', app_name: [], }; responseFacebook = response => { {/*console.log(response);*/} if(response.status !== 'unknown') this.setState({ auth: true, username: response.name, access_token: response.accessToken }); graph.setAccessToken(this.state.access_token); graph.get("/me/accounts", function(err, res) { let response = res; console.log(response.data[0]); }); console.log(this.state); }Tal vez porque está revisando el segundo console.log fuera de la devolución de llamada. En javascript, las devoluciones de llamada (la función dentro de la llamada de obtención) se activan más tarde, cuando se completa la API, por lo tanto, no obtendrá nada en la console.log inicie sesión fuera de la devolución de llamada, si reescribe su ejemplo, podría funcionar.
state = { auth: false, username: '', access_token: '', app_name: [], }; responseFacebook = response => { if(response.status !== 'unknown') { this.setState({ auth: true, username: response.name, access_token: response.accessToken }); graph.setAccessToken(this.state.access_token); graph.get("/me/accounts", (err, res) => { let response = res; this.setState({username:response.data[0]}); console.log(this.state); }); } }