2015-02-06 53 views
4

我想在點擊功能發送元素的索引。因爲我應該更改每個元素的數據並從數組中獲取它。ReactJS點擊發送鍵(索引)

如何從List獲得密鑰MainBlock?可能嗎?或者我做錯了什麼?

我是React的新人,犯了很多錯誤。

var MainBlock = React.createClass({ 
Click: function() { 
    // I need to get element KEY 
    // var data = array[key] 
}, 
render: function() { 
    return (
     <List Click={this.props.Click.bind(null, this)}> 
    ); 
} 
}); 

var List = React.createClass({ 
    render: function() { 
     var ItemNodes = this.props.data.map(function(step, index) { 
      return (
       <Item className="class" Click={this.props.Click.bind(null, this)} key={index} /> 
      ); 
     }.bind(this)); 
     return (
      <ul> 
       {ItemNodes} 
      </ul> 
     ); 
    } 
}); 

var StepWindow = React.createClass({ 
    render: function() { 
     return (
      <li onClick={this.props.Click}> 
       yo! 
      </li> 
     ); 
    } 
}); 

謝謝你的幫忙。

回答

6

試試這個:

Click={this.props.Click.bind(this, index)} 

Click: function(idx, e){ 

} 

在文檔例子檢查出boundClick http://facebook.github.io/react/tips/expose-component-functions.html

編輯我已經編輯這表明傳遞到Click函數的參數是不同的訂購。它是e,idx,應該是idx,e。

+0

謝謝,先生! – AndryName 2015-02-06 18:23:46

+0

歡迎您!很高興能幫到您 – silverfighter 2015-02-06 18:24:08

+5

您的訂單有誤。它是 '''點擊:功能(idx,e){ } ''' – 2015-05-06 20:11:05