2021-05-07 14:37:56 +02:00
|
|
|
import { useStore } from '../lib/store'
|
2020-11-11 00:06:49 +01:00
|
|
|
import shallow from 'zustand/shallow'
|
|
|
|
const useCounter = () => {
|
|
|
|
const { count, increment, decrement, reset } = useStore(
|
|
|
|
(store) => ({
|
|
|
|
count: store.count,
|
|
|
|
increment: store.increment,
|
|
|
|
decrement: store.decrement,
|
|
|
|
reset: store.reset,
|
|
|
|
}),
|
|
|
|
shallow
|
|
|
|
)
|
|
|
|
|
|
|
|
return { count, increment, decrement, reset }
|
|
|
|
}
|
|
|
|
|
|
|
|
const Counter = () => {
|
|
|
|
const { count, increment, decrement, reset } = useCounter()
|
|
|
|
return (
|
|
|
|
<div>
|
|
|
|
<h1>
|
|
|
|
Count: <span>{count}</span>
|
|
|
|
</h1>
|
|
|
|
<button onClick={increment}>+1</button>
|
|
|
|
<button onClick={decrement}>-1</button>
|
|
|
|
<button onClick={reset}>Reset</button>
|
|
|
|
</div>
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
export default Counter
|