我有以下代码:
import React from 'react';
import ProjectsData from './projects.js';
class SingleProject extends React.Component {
render () {
return (
<div className="info-project-wrapper">
<h2>{this.props.title}</h2>
<span className="show-for-large">{this.props.by}</span>
<ul className="project-links show-for-large">
<li>{this.props.links}</li>
</ul>
<div className="info-project">
<p>VIEW NOW</p>
</div>
</div>
)
}
}
class SingleProjectWrapper extends React.Component {
render () {
var projects = [];
this.props.projects.forEach(function(project, i){
projects.push(<SingleProject title={project.title}
by={project.by}
links={projects.links}
key={i} />);
});
return (
<div className="single-project project-4">
{projects}
</div>
)
}
}
class Projects extends React.Component {
render () {
return (
<section>
<SingleProjectWrapper projects={ProjectsData} />
</section>
);
}
}
export default Projects;而"projectsData“则来自于:
var projects = [
{
title: 'title1',
by: 'dfs',
links: ['link-1', 'link-2', 'link-3']
},
{
title: 'title2',
by: 'sdfsd',
links: ['link-1', 'link-2', 'link-3']
},
{
title: 'title3',
by: 'sfsf',
links: ['link-1', 'link-2', 'link-3']
},
{
title: 'title4',
by: 'sdffd',
links: ['link-1', 'link-2', 'link-3']
}
];
export default projects;除了<li>{this.props.links}</li>之外,大多数数据都可以正确显示。我只得到一个空的<li></li>,而不是"link-1,link-2和link-3“。
发布于 2016-09-27 00:22:19
你需要遍历链接数组,React不会对数组做任何花哨的事情。
因此,不是;
<ul className="project-links show-for-large">
<li>{this.props.links}</li>
</ul>你需要做的是;
<ul className="project-links show-for-large">
{this.props.links.map(i => <li>i</li>)}
</ul>https://stackoverflow.com/questions/39707701
复制相似问题