diff --git a/packages/hooks/src/useSetState/index.ts b/packages/hooks/src/useSetState/index.ts index 495bcfd243..ca8b0db2ba 100644 --- a/packages/hooks/src/useSetState/index.ts +++ b/packages/hooks/src/useSetState/index.ts @@ -1,4 +1,5 @@ -import { useCallback, useState } from 'react'; +import { useState } from 'react'; +import useMemoizedFn from '../useMemoizedFn'; import { isFunction } from '../utils'; export type SetState> = ( @@ -10,12 +11,12 @@ const useSetState = >( ): [S, SetState] => { const [state, setState] = useState(initialState); - const setMergeState = useCallback((patch) => { + const setMergeState = useMemoizedFn((patch) => { setState((prevState) => { const newState = isFunction(patch) ? patch(prevState) : patch; return newState ? { ...prevState, ...newState } : prevState; }); - }, []); + }); return [state, setMergeState]; };