04-state/10-watch-sources.tsx
Watch Sources
Example
Official Cake20 View example for watch sources.
export const data = {
price: 12000,
quantity: 2,
};
export const watch = {
total: {
source: () => [data.price, data.quantity] as const,
run(value: readonly [number, number], previous?: readonly [number, number]) {
console.log("total", previous, value);
},
},
};
export default () => (
<Button onClick={() => data.quantity++}>₩{(data.price * data.quantity).toLocaleString()}</Button>
);