我是React的新手,我試圖製作一個數據網格,現在正在工作,但我覺得我做錯了,下面是詳細信息:在React中提升狀態的正確方法
每行都有多個輸入(文本,選擇,按鈕),我們有能力刪除,插入行。
現在我有一個GridComponent將所有數據保存爲一個對象數組。在使其將對象傳遞給RowComponent帶有手柄打電話時輸入的變化:
this.state.data.map((rowdata, index) =>
<RowComponent key={rowdata.id} rowdata={rowdata} dataindex={index} handleChange={this.handleChange} />)
問題是,當RowComponent調用handleChange,該GridComponent使用的rowIndex更新對象。但速度很慢,打字時有一點延遲。
爲了解決這個問題,我在RowComponent中聲明瞭一個狀態來控制輸入時的數據,並且只對onBlur事件調用handleChange並且它工作得很好。但是現在我在Grid和Row中有2個狀態,這是正確的方法嗎?
兩種方法都應該沒問題。我們談論的數據有多大? id是否因任何原因而改變? –
你沒有使用助焊劑或稀有物質? –
@HoriaComan:它不會太好奇,因爲第一種方法很慢,第二種方法是複製數據。該ID僅用於密鑰 – Tubc