добавлен хук usePartialProps для работы с опциональными пропсами объектами с возможностью присвоения значений по-умолчанию в глубь

This commit is contained in:
goodmice 2022-06-25 15:45:46 +05:00
parent f876e9a51e
commit a700d22b4d
2 changed files with 14 additions and 0 deletions

View File

@ -2,3 +2,5 @@ export * from './cachedFetch'
export * from './functionalValue' export * from './functionalValue'
export type { FunctionalValue } from './functionalValue' export type { FunctionalValue } from './functionalValue'
export * from './usePartialProps'

View 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