Implement an optimized version of the useCounter hook. The returned methods should be memoized, the same function instance is returned across re-renders.

exportdefaultfunction Component() {
const { count, increment, decrement, reset, setCount } = useCounter();
return (
    <div>
      <p>Counter: {count}</p>
      <button onClick={increment}>Increment</button>
      <button onClick={decrement}>Decrement</button>
      <button onClick={reset}>Reset</button>
    </div>
  );
}

Arguments

Returns

The useCounter hook returns an object with the following properties:

increment, decrement, reset, and setCount must be the same function instance across re-renders.

My Solution

Editorial