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)
| 归档时间: |
|
| 查看次数: |
9113 次 |
| 最近记录: |