Skip to content

useState

对于复杂类型的使用

数组

useState 中,数组视为只读,不可直接修改原数组。

操作类型避免使用的方法(会改变原数组)推荐使用的方法(返回新数组)
增加元素push, unshiftconcat, [...arr]
删除元素pop, shift, splicefilter, slice
修改元素splice, arr[i] = newValuemap
排序操作reverse, sort先复制一份再操作
  • 新增数据:创建一个新数组,包含原有数组的所有元素,然后在末尾添加新元素。如果想在开头添加新元素,反过来操作即可。
  • 删除数据:使用 filter 过滤掉不需要的元素。
  • 数组替换:使用 map 筛选出需要替换的元素,然后替换为新的元素,其他保持不变。

原则:不操作元素,创建一个新的数组。

数组操作

对象

useState 中,对象视为只读,不可直接修改原对象。

原则:不操作元素,创建一个新的对象。

对象操作

useState 的更新机制

Released under the MIT License.