我是React的新手,我正在创建一个应用程序,在该应用程序中,我使用的状态非常大且需要频繁更新。我知道使用useState()
会在每次更新时替换整个对象。如果这意味着它将复制对象的完整副本,则在m种情况下会严重降低性能。如果这是一个懒惰的评价,我想我可能会好的,因此是我的问题。
相反,如果我使用基于旧类的setState()
方法,则只能更新状态的必要部分。例如,我的数据结构如下所示:
{
'data0': { ... some not very deep object ...},
'data1': { ... },
'data2': { ... },
...,
'dataN': { ... },
}
我可能有成千上万个data
对象。由于data
对象很小,因此在需要时替换它们不会对性能造成太大的影响,这在类中setState()
的情况下是完全可行的,但是如果使用{ {1}}钩?
答案 0 :(得分:0)
U可以使用usestate传播先前的状态,并且您将获得与setstate相同的结果
Usestate([
...state,
Data6
])