Skip to main content

useCounterMemoize

/**
* @param number initialValue
* @return Object
*/

import {useState, useCallback} from 'react';

export default function useCounter(initialValue) {
const [count, setCount] = useState(initialValue ?? 0);
const increment = useCallback(() => {
setCount((prev) => prev+1);
}, []);
const decrement = useCallback(() => {
setCount(prev => prev - 1);
}, []);
const reset = useCallback(() => {
setCount(initialValue);
}, [initialValue]);

return {
count,
setCount,
increment,
decrement,
reset
};
}