React 不会在 map 函数中呈现

Zan*_*der 4 javascript arrays javascript-objects reactjs

我正在尝试使用 JS 函数 map() 呈现包含一些对象的数组。但是,当我返回文本时,没有显示任何内容:

console.log(this.props.project.projects); // (2) [{…}, {…}]
  this.props.project.projects.map((item, index) => {
    console.log(item.projectDescription); //"Testproject"
    return (
        <div key={index}>
         {item.projectDescription}
        </div>
      )
  })
Run Code Online (Sandbox Code Playgroud)

我只是不明白,为什么没有显示文本,因为 console.log(item.projectDescription) 显示了我想要显示的内容。

更新: 当我将其更改为:

return this.props.project.projects.map((item, index) => (
        <div key={index} style={{ color: '#fff' }}>
         {item.projektBeschreibung}
        </div>
      ))
Run Code Online (Sandbox Code Playgroud)

我已经考虑过使用 foreach 方法,但我认为它实际上应该使用 map() 函数工作。

在这里您还可以看到我的组件的渲染方法。

class ProjectRow extends Component {

  renderProjects() {
    console.log(this.props.project);
    if (this.props.project.loading) {
    return (
      <div style={{color: '#fff'}}>
        Loading
      </div>
    )
    } else {
      console.log(this.props.project.projects);
      this.props.project.projects.map((item, index) => {
        console.log(item);
        console.log(item.projektBeschreibung);
        console.log(index);
        return (
            <div key={index}>
             {item.projektBeschreibung}
            </div>
          )
      })
    }
  }

  render() {
    return (
      <div>
        {this.renderProjects()}
      </div>
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

Eri*_*ing 10

renderProjects函数在遇到您的 else 情况时不返回任何内容。下面是一个使用示例:

renderProjects() {
  console.log(this.props.project);

  if (this.props.project.loading) {
    return (
      <div style={{color: '#fff'}}>
        Loading
      </div>
    )
  } else {
    console.log(this.props.project.projects);

    // added return statement here
    return this.props.project.projects.map((item, index) => {
      console.log(item);
      console.log(item.projektBeschreibung);
      console.log(index);
      return (
        <div key={index}>
          {item.projektBeschreibung}
        </div>
      )
    })
  }
}
Run Code Online (Sandbox Code Playgroud)