Map 类型的 store
与 Set 类型一样,Map 类型也是原生 JavaScript 的数据结构,可以用来存储键值对。Map 也同样将数据保存在一个不可见的位置,同样使 Valtio 无法追踪到。针对 Map 类型的使用需要,Valtio 提供了 proxyMap
函数来创建一个可追踪的模仿 Map 类型行为的 store。
通过 proxyMap
创建的 store 可以如以下示例中的方式使用。
import { proxyMap } from "valtio/utils";
const state = proxyMap();
state.set("key1", "value1");
state.set("key2", "value2");
state.delete("key1");
state.forEach((value, key) => {
console.log(key, value);
});
与 proxySet
创建的模仿 Set 类型行为的 store 一样,proxyMap
创建的模仿 Map 类型行为的 store 也实现了原生 Map 类型的所有方法,因此可以像使用原生 Map 类型一样使用它。