React
Examples:
1. Counter using Hooks
// initialize a NumUnit.
const counterUnit = new NumUnit() // with default value 0
// define two pure functions that produce a new value
const increment = value => value + 1;
const decrement = value => value - 1;
// create a react component
function App() {
const [value, setValue] = useState<number>(); // create local state
// use an effect to update the local state when counterUnit's value changes
useEffect(() => {
const subscription = counterUnit.subscribe(setValue);
return () => subscription.unsubscribe(); // prevent memory leak
}, []);
return (
<React.Fragment>
Counter Value: {value}
<button onClick={() => counterUnit.dispatch(increment)}>Increase</button>
<button onClick={() => counterUnit.dispatch(decrement)}>Decrease</button>
</React.Fragment>
);
}2. Counter using useUnit Hook
3. Counter using useObservable Hook
Last updated
Was this helpful?