2016-07-19 20 views
0

我已經開始學習反應並正在處理一個簡單的應用程序。我卡在一個位置,我需要將狀態存儲變量傳遞給渲染函數。當我嘗試將此綁定到該函數時,該變量將更改爲一個對象,我無法訪問該對象。將反應中的變量綁定到函數將其更改爲對象

有什麼辦法可以處理嗎?

我的代碼如下所示:

handleQuantityChange: function(e) { 
    this.setState({ value: parseInt(e.target.value) }); 
}, 

handleBuy: function(bidPrice){ 
    console.log(bidPrice); 
}, 

render: function(){ 
    this.state.bidPrice = 24; 
    return <form> 
      <input type="text" placeholder="Quantity" onChange={this.handleQuantityChange}/> 
      <li>{this.state.bidPrice}</li> 
      <input type="button" value="Buy" onClick={this.handleBuy.bind(this.state.bidPrice)}/> 
     </form> 

我原來的代碼也越來越非常複雜,所以我沒有張貼在這裏。但請參考:jsfiddle

代碼不能在小提琴中工作,因爲這有許多其他問題,並且缺少需要處理的錯誤處理,但它應該在本地服務器上工作。 我應該以不同的方式來解決這個問題嗎?有沒有比onChange更好的事件可以使用?

回答

2

添加getInitialState FN初始化值

getInitialState: function() { 
    return { bidPrice: 24 }; 
}, 

並使用

onClick={this.handleBuy.bind(this, this.state.bidPrice)} 
+0

謝謝,這就像一個魅力工作! –

相關問題