I feel like I'm overlooking something really simple here. I'm moving a custom hook over to a store. With my hook I'd use:
useEffect(() => {
setOriginalRecord({...activeRecord});
}, [activeRecord])
So, any time the activeRecord property is updated, I update the originalRecord. This can happen in several different places. How do I do the equivalent with Zustand? I see Zustand has subscribe methods, but I don't think that's what I'm after. I'm trying to avoid duplicating the setOriginalRecord code in multiple different functions.
Here's an example method in my store:
setRecords: records => {
set({
records: records,
activeRecord: records[get().recordIndex],
recordCount: records.length,
originalRecord: {...records[get().recordIndex]}
})
},
I don't like this. I already update activeRecord in that method, so once it's updated I just want originalRecord to be a copy of the activeRecord. Again, this can happen in several methods, so a useEffect equivalent makes sense.