2016-06-14 54 views
0

通过this.params我有父母与两个道具:实体和选项。我想发送给每个实体作为参数的选项。我怎样才能做到这一点?我试着用:我如何通过这个通过地图功能ReactJS

class FormsList extends React.Component{ 
    constructor(props){ 
     super(props); 
    }; 
    render(){ 
     var items = this.props.entities.map(function(entity){ 
      return(
       <Child data={entity} key={entity.Id} moredata={this.props.options}/> 
      ); 
     }); 
     return(
      <MuiThemeProvider muiTheme={getMuiTheme()}> 
       <List children={items}/> 
      </MuiThemeProvider> 
     );  
    }; 
}; 

我知道PARAMS不在entities.map函数体访问,但我应该怎么选项传递给孩子?

回答

2

您需要绑定您的地图功能才能访问正确的this

var items = this.props.entities.map(function(entity){ 
    return (
     <Child data={entity} key={entity.Id} moredata={this.props.options}/> 
    ); 
}.bind(this); 

或者,您可以使用箭头函数语法:

var items = this.props.entities.map(entity => { 
    return (
     <Child data={entity} key={entity.Id} moredata={this.props.options}/> 
    ); 
}; 
+0

伟大的作品,谢谢! – laik

+0

代替'.bind(this)',将'this'作为第二个参数传递给'.map'。 –