javascript - 如何通过映射函数ReactJS传递this.params

标签 javascript reactjs

我的父级有两个 Prop :实体和选项。我想为每个实体发送选项作为参数。我怎样才能做到这一点?我尝试过:

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>
        );      
    };
};

我知道在Entity.map函数体中无法访问参数,但是我应该如何将选项传递给子进程?

最佳答案

您需要绑定(bind) map 函数才能访问正确的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}/>
    );
};

关于javascript - 如何通过映射函数ReactJS传递this.params,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37814047/

相关文章:

xml - 使用 axios 向 SOAP 端点发出请求

javascript - 如何检查任何一个变量是否大于0

javascript - 'this' 在生命周期方法中如何工作?

javascript - Facebook API 个人资料图片

javascript - HTML/JavaScript 在满足条件后播放视频

javascript - 官方 dygraphs.com Synchronize.html 演示已被破坏 : my version too

node.js - 如何避免在 ReactJS 同构应用程序中的服务器上出现错误 'localStorage is not defined'?

javascript - 处理多个 Gmail 帐户

javascript - 触发了错误的类

reactjs - 如何使用 React-Redux 防止批处理