Я получаю свою функцию при рендеринге, но не вижу ее

#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 у меня есть комментарии к рендерингу 🙂