import React, { Component } from 'react'; import axios from 'axios'; class Home extends Component { state = { responses: [] } componentDidMount() { this.fetchQuestionAnswers(); } fetchQuestionAnswers = () => { if (this.state.activeSupervisionId) { axios.get('/question/response/' + this.state.activeSupervisionId).then(res => { this.setState({ responses: res.data.data || [] }); console.log(this.state.responses[0].value) // dot notation work here inside the function }).catch(err => console.error(err)); } } render() { console.log(this.state.responses[0].value) // dot notation not working here under render function but the result of // console.log(this.state.responses[0]) is printed return ( ) } } export default Home; Obtengo datos de una API que se envió como una matriz de objetos. Entonces, digamos que configuro el estado de las responses: res.data.data . El resultado de la consola de respuestas aparece como se describe a continuación.
var responses = [0: {…}, 1: {…}, 2: {…}, 3: {…}, 4: {…},...]
Valor de índice
Usaré el objeto de índice 0 como ejemplo de lo que estoy tratando de lograr. He buscado otras respuestas pero no pude resolverlo.
0: { id: 5, questionId: 1, score: "0", text: "Are there any others", value: { designations: { CCO: { no: "3" }, CDD: { no: "1" }, DSNO: { no: "1" } }, reaportedStaff: [ "DSNO", "CCO", "CDD" ] staffLivingInQuarter: "yes" totalReaportedStaff: 5 } }Quiero saber cómo puedo acceder al valor de las propiedades dentro de los objetos en la matriz con notación de puntos u otro método, es decir, id, score, text, CCO no.
Tenga en cuenta que probé responses[0].value e imprimió TypeError: Cannot read properties of undefined (reading 'value')