使用map进行反应来创建组件但不能使用函数

时间:2015-10-18 18:40:57

标签: reactjs

我是React的新手,遇到了一些问题。我想根据JSON设置状态创建组件,但是当我使用map时它似乎不起作用。

var displays = this.state.name.map(function(id) {
    return (
        <MenuItems onClick={this.clicked} name={id.program}  />
    )
});

一旦我设置onClick,页面就无法加载。如果我摆脱onClick页面工作。点击按钮时我需要做一些事情,这是必不可少的。

我用

调用函数
{displays}

在render方法中,它似乎适用于我的其他组件。州的设置如下:

    name: [{"program": "File Manager"},
           {"program": "Add File"},
           {"program": "Index"},
           {"program": "File Editor"}],

当我以这种方式使用地图时,我怎么也无法调用函数?我的回调错了吗?我一直在研究这个问题,非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

Map有一个可选参数来传递它。

&#13;
&#13;
var displays = this.state.name.map(function(id) {
    return (
        <MenuItems onClick={this.clicked} name={id.program}  />
    )
}, this);
&#13;
&#13;
&#13;