( scope: T )
| 19 | * 用于在本地缓存一些不是那么重要的数据 |
| 20 | */ |
| 21 | export function useUserSessionPreference<T extends keyof UserSessionPerference>( |
| 22 | scope: T |
| 23 | ): [UserSessionPerference[T], (value: UserSessionPerference[T]) => void] { |
| 24 | const [preference = {}, setPreference] = |
| 25 | useSessionStorageState<UserSessionPerference>('sessionPreference'); |
| 26 | const value = preference[scope]; |
| 27 | const setValue = useMemoizedFn((value: UserSessionPerference[T]) => { |
| 28 | setPreference({ |
| 29 | ...preference, |
| 30 | [scope]: value, |
| 31 | }); |
| 32 | }); |
| 33 | |
| 34 | return [value, setValue]; |
| 35 | } |
no test coverage detected