我有一個表單,我想要使用Relic.js呈現,並且還允許用戶編輯輸入並將其提交給服務器。這是一個產品清單。每個tr代表一個產品id,其數量,名稱,價格,類別可以由用戶更改。它有下拉框和文本輸入。React.js - 將更改處理函數傳遞給深度嵌套窗體組件
我想打破它在以下組件:
- 產品列表
- 產品
- CategoryDropdown
產品列表包含產品包含CategoryDropdown。現在我必須通過handleCategoryChange函數到CategoryDropDown組件。所以產品列表將通過這個作爲一個道具產品它將通過它作爲支柱類別下降。
這是正確的方法嗎?如果我的表單變得更復雜,甚至更深的嵌套組件?我是否應該不斷地將處理函數作爲一個屬性從一直到最終傳遞?或者我應該考慮使用還原?
<form>
<table>
<tr>
<td><input type="hidden" name="productId" value="101"/></td>
<td><input type="text" name="quantity"/></td>
<td><input type="text" name="productName"/></td>
<td><input type="text" name="productPrice"/></td>
<td>
<select name="productCategory">
<option value="1"> Soap </option>
<option value="2"> Shampoo </option>
</select>
</td>
</tr>
<tr>
<td><input type="hidden" name="productId" value="102"/></td>
<td><input type="text" name="quantity"/></td>
<td><input type="text" name="productName"/></td>
<td><input type="text" name="productPrice"/></td>
<td>
<select name="productCategory">
<option value="1"> Soap </option>
<option value="2"> Shampoo </option>
</select>
</td>
</tr>
</table>
</form>
感謝您的努力,幾乎可以編碼......好的方法也是如此 – dharm0us