我有一個陣營組成部分(這是我後來傳遞給render()方法),這裏面的方法:獲取元素同級價值陣營
renderNutrientInputs: function (num) {
var inputs = [];
for (var i =0; i < num; i++) {
inputs.push(<div key={i}>
<label>Nutrient name: </label><input type="text"/>
<label>Nutrient value: </label><input type="text" />
</div>);
}
return inputs;
}
我試圖對「營養價值」的每一個變化文本框,以獲取「營養素名稱」文本框的當前值。我首先雖然給他們兩個分配了「ref」,但我想他們可能在頁面上有多對(並且唯一的方法是通過鍵來識別它們)。我也嘗試過這樣的事情:
<label>Nutrient name: </label><input type="text" ref="nutName"/>
<label>Nutrient value: </label><input type="text" onChange={this.handleNutrientValueChange.bind(null, ReactDOM.findDOMNode(this.refs.nutName))}/>
但有一個警告陣營:
警告:AddForm正在訪問getDOMNode或findDOMNode其 內部渲染()。 render()應該是道具和狀態的純函數。它 不應該訪問的東西,需要從 以前的陳舊數據呈現
是否有某種方式附着onChange事件偵聽器,以營養價值文本框和訪問事件監聽器「營養名」文本框的當前值功能?
我有一個非常困難的時間獲取您的密碼,仍然不知道ES6語法,我在寫ES5。 – daremkd
valueLink使用雙向綁定填充,也不熟悉該概念:/ – daremkd
查看更新的答覆。我添加了工作小提琴,加上鍊接到文檔,這將有助於你理解雙向綁定。基本上它是用一個道具來替換'value'和'onChange'道具,道具包含輸入的值和被調用來改變它的值的函數。 – Andreyco