File tree 1 file changed +4
-3
lines changed
packages/hooks/src/useSetState
1 file changed +4
-3
lines changed Original file line number Diff line number Diff line change 1
- import { useCallback , useState } from 'react' ;
1
+ import { useState } from 'react' ;
2
+ import useMemoizedFn from '../useMemoizedFn' ;
2
3
import { isFunction } from '../utils' ;
3
4
4
5
export type SetState < S extends Record < string , any > > = < K extends keyof S > (
@@ -10,12 +11,12 @@ const useSetState = <S extends Record<string, any>>(
10
11
) : [ S , SetState < S > ] => {
11
12
const [ state , setState ] = useState < S > ( initialState ) ;
12
13
13
- const setMergeState = useCallback ( ( patch ) => {
14
+ const setMergeState = useMemoizedFn ( ( patch ) => {
14
15
setState ( ( prevState ) => {
15
16
const newState = isFunction ( patch ) ? patch ( prevState ) : patch ;
16
17
return newState ? { ...prevState , ...newState } : prevState ;
17
18
} ) ;
18
- } , [ ] ) ;
19
+ } ) ;
19
20
20
21
return [ state , setMergeState ] ;
21
22
} ;
You can’t perform that action at this time.
0 commit comments