2016-04-26 47 views
2

我在找到反应中的子组件时遇到问题。我正在使用React-Toolbox进行造型。React组件不会在脚本语句中呈现

我有下面的JSON文件

{ 
    "projects":[ 
    { 
    "id":1, 
    "project_name":"Tensor Flow", 
    "category":"Machine Learning", 
    "skills":[{"id":1,"skill_name":"Python"},{"id":2,"skill_name":"Javascript"}] 
    }, 
    { 
     "id":2, 
     "project_name":"React Toolbox", 
     "category":"Frameworks", 
     "skills":[{"id":2,"skill_name":"Javascript"},{"id":3,"skill_name":"React"}] 
    }, 
    { 
     "id":3, 
     "project_name":"Guitar Pro", 
     "category":"Music", 
     "skills":[{"id":2,"skill_name":"Javascript"},{"id":4,"skill_name":"Node"},{"id":1,"skill_name":"Python"}] 
    }, 
    { 
     "id":4, 
     "project_name":"Soccer.js", 
     "category":"Sports", 
     "skills":[{"id":4,"skill_name":"Node"},{"id":1,"skill_name":"Python"},{"id":5,"skill_name":"Golang"}] 
    } 
    ] 
} 

这个文件应该被称为工程

组件内呈现

我Project.jsx文件是低于

render(){ 
    const dummyText = 'Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.'; 
    return(

     <Card className={styles.card} key={this.props.id}> 
     <CardTitle 
      title={this.state.project.project_name} 
      subtitle={this.state.project.category} 
      /> 
     <CardText>{dummyText}</CardText> 

      {this.state.project.skills.map((skill) => { 
       console.log('Skill is: ',skill); 
       <CardActions> 
       <Chip key={skill.id}>{skill.skill_name}</Chip> 
       </CardActions> 
      })} 

     </Card> 

的CardActions组件ISN因为我看起来不明白的原因,没有在页面中呈现。我不确定是什么原因。

+0

你试图从移动芯片的关键CardActions? – QoP

回答

0

你是不是在你的地图功能回到CardActions

render(){ 
    const dummyText = 'Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.'; 
    return(

     <Card className={styles.card} key={this.props.id}> 
     <CardTitle 
      title={this.state.project.project_name} 
      subtitle={this.state.project.category} 
      /> 
     <CardText>{dummyText}</CardText> 

      {this.state.project.skills.map((skill) => { 
       console.log('Skill is: ',skill); 
       return (
       <CardActions key={skill.id}> 
        <Chip>{skill.skill_name}</Chip> 
       </CardActions> 
      ); 
      })} 

     </Card> 
    ); 
} 
+0

尼斯:D现在工作..谢谢 – Kannaj

+0

而@QoP提到,你应该把'key'属性放在'CardActions'上,因为这是数组中的元素被渲染 – Brandon

+0

如果我渲染cardAction元素会更好并单独在芯片元件上循环?因为我需要为每个芯片指定一个单独的密钥 – Kannaj