我正在尝试使用地图来存储状态,当状态正在更新时,组件不会使用新状态重新渲染
const store = (set, get) => ({
items: new Map(),
addItem: (key, item) => {
set((state) => state.items.set(key, item));
// this prints the latest state
console.log(get().items)
},
removeItem: (key) => {
set((state) => state.items.delete(key));
},
)}
const useStore = create(store);
export default useStore
Run Code Online (Sandbox Code Playgroud)
useEffect 不打印任何内容
const items = useStore((state) => state.items))
useEffect(() => {
console.log(items)
}, [items]);
Run Code Online (Sandbox Code Playgroud)