我是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