#javascript #arrays #reactjs
#javascript #массивы #reactjs
Вопрос:
Я получаю свои данные с помощью выборки (она работает) — я помещаю ее в свой componentdidmount, затем я пишу свою функцию для рендеринга своих данных.
Я вижу ее на своей консоли, но она не отображается на моем экране:
также мой код :
getMesCommentaires = () => {
console.log("coucou");
const headers = new Headers({
"Content-Type": "application/json",
"X-Requested-With": "XMLHttpRequest",
Authorization: "bearer " localStorage.getItem("token"),
});
const options = {
method: "GET",
headers: headers,
};
fetch("http://localhost:8080/serveur/mesCommentaires", options)
.then((response) => {
return response.json();
})
.then(
(responseObject) => {
const mesCommentaires = responseObject;
if (Array.isArray(mesCommentaires)) {
this.setState({ commentaires: mesCommentaires });
}
console.log(this.state);
},
(error) => {
console.log(error);
}
);
};
Моя функция :
renderMesCommentaires = () => {
return this.state.commentaires.map((element, index) => {
return (
<div key={index}>
<h1 className="statut">{element.nom}</h1>
<h1 className="statut">{element.prenom}</h1>
<h1 className="statut">{element.texte}</h1>
</div>
);
});
};
componentDidMount(){
this.getMesCommentaires();
};
Комментарии:
1. Похоже, что состояние не такое, каким вы его ожидаете, —
commentaires
это массив, но значения (вероятно) не определены. Попробуйте добавитьconsole.log(this.state.commentaires)
в началеrenderMesCommentaires
, чтобы убедиться, что у вас есть ожидаемые значения.2. Для рендеринга sth вам нужен метод рендеринга. Попробуйте изменить renderMesCommentaires на render .
3. @Kryten Значения появляются, когда я помещаю консоль. регистрируйтесь в начале rendermescommentaires
4. @jakubJanik у меня есть комментарии к рендерингу 🙂