Вам нужно обернуть Map и Set внутри объекта. Когда вы хотите, чтобы его обновление отражалось (например, в React), вы делаете это, вызывая setState на нем:
import{create}from'zustand';constuseFooBar=create(()=>({foo:newMap(),bar:newSet(),}));functiondoSomething(){// doing something...// If you want to update some React component that uses `useFooBar`, you have to call setState// to let React know that an update happened.// Following React's best practices, you should create a new Map/Set when updating them:useFooBar.setState((prev)=>({foo:newMap(prev.foo).set('newKey','newValue'),bar:newSet(prev.bar).add('newKey'),}));}