forked from ddrilling/asb_cloud_front
добавлен хук usePartialProps для работы с опциональными пропсами объектами с возможностью присвоения значений по-умолчанию в глубь
This commit is contained in:
parent
f876e9a51e
commit
a700d22b4d
@ -2,3 +2,5 @@ export * from './cachedFetch'
|
||||
|
||||
export * from './functionalValue'
|
||||
export type { FunctionalValue } from './functionalValue'
|
||||
|
||||
export * from './usePartialProps'
|
||||
|
12
src/utils/hooks/usePartialProps.ts
Normal file
12
src/utils/hooks/usePartialProps.ts
Normal file
@ -0,0 +1,12 @@
|
||||
import { useMemo } from "react"
|
||||
|
||||
export const usePartialProps = <T,>(prop: Partial<T> | null | undefined, defaultValue: T): T => {
|
||||
const result: T = useMemo(() => {
|
||||
if (!prop || typeof prop !== 'object') return defaultValue
|
||||
return { ...defaultValue, ...prop }
|
||||
}, [prop, defaultValue])
|
||||
|
||||
return result
|
||||
}
|
||||
|
||||
export default usePartialProps
|
Loading…
Reference in New Issue
Block a user