2015-10-18 68 views
0

我是新來的React和有一些問題。我想根據JSON setstate創建組件,但是當我使用map時,它似乎不起作用。反應使用地圖創建組件,但不能使用功能

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

只要我設置onClick頁面加載失敗。如果我擺脫onClick頁面的作品。當點擊一個按鈕時,我需要做些事情,所以它是必不可少的。

我與

{displays} 
的渲染方法

調用該函數,它似乎對我的其他組件協同工作。狀態如下設置:

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

當我以這種方式使用地圖時,我怎麼會無法調用函數?我的回撥錯誤?我一直在研究這個問題一段時間,任何幫助,非常感謝。

回答

0

地圖有一個可選的參數來傳遞它。

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

+0

這完美的作品,謝謝。 – phlie