Ich habe ein Problem mit React. Ich habe ein Array, das ich zu this.state übergeben. Aber ich habe ein Problem, ich kann nicht auf die Unterelemente im Array zugreifen. In meinem Fall kann ich nicht auf this.state.folders [0] zugreifen.Reagiere this.state undefined array
Hier ist mein Code:
class DriveContent extends Component {
constructor() {
super();
let list_files = [];
let list_folders = [];
axios.get('/api/getFilesAndFolders').then((response) => {
for (var i = 0; i < response.data.length; i++) {
if (response.data[i]["isFile"] ==true){
list_files.push(response.data[i]);
}
else {
list_folders.push(response.data[i]);
}
}
}).catch((error) => {
console.error(error);
});
this.state = {files: list_files, folders: list_folders};
console.log(this.state.folders);
console.log(this.state.folders[0]);
}
Hier ist das, was die die 2 console.log zurück:
// console.log(this.state.folders);
[]
0: "Commun"
1: "Privé"
2: "Public"
length: 3
//console.log(this.state.folders[0]);
undefined
Vielen Dank im Voraus!
Es hat gut funktioniert, vielen Dank für die Lösung und die Erklärungen! –
Freut mich zu hören. Es kann praktisch sein, dies bei der Entwicklung immer in Ihrer Renderfunktion zu haben: 'console.log ('render', this.props, this.state);' Damit können Sie alle Updates ansehen und sehen, ob Sie optimieren müssen, um zu reduzieren re-rendered mit einer 'sollteComponentUpdate'-Funktion. – Scott