首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >React.js从js数组获取数据

React.js从js数组获取数据
EN

Stack Overflow用户
提问于 2016-09-27 00:18:32
回答 1查看 3.7K关注 0票数 1

我有以下代码:

代码语言:javascript
复制
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“则来自于:

代码语言:javascript
复制
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“。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-27 00:22:19

你需要遍历链接数组,React不会对数组做任何花哨的事情。

因此,不是;

代码语言:javascript
复制
<ul className="project-links show-for-large">
  <li>{this.props.links}</li>
</ul>

你需要做的是;

代码语言:javascript
复制
<ul className="project-links show-for-large">
    {this.props.links.map(i => <li>i</li>)}
</ul>
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39707701

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档