Skip to content
On this page

extendRef

合并两个对象

用法

Refs 将会 unwrapped 并且触发响应式

ts
import { ref } from '@mpxjs/core'
import { extendRef } from '@mpxjs/mpxuse-core'

const myRef = ref({ foo: 'content' })

const extended = extendRef(myRef, { foo: 'extra data' })

extended.value.foo === 'extra data'
myRef.value.foo === 'extra data' // will trigger update
extended === myRef
import { ref } from '@mpxjs/core'
import { extendRef } from '@mpxjs/mpxuse-core'

const myRef = ref({ foo: 'content' })

const extended = extendRef(myRef, { foo: 'extra data' })

extended.value.foo === 'extra data'
myRef.value.foo === 'extra data' // will trigger update
extended === myRef

不会触发响应式,是否响应取决于第一个参数是否是ref

ts
import { ref } from '@mpxjs/core'
import { extendRef } from '@mpxjs/mpxuse-core'

const myRef = { foo: 'content' }

const extended = extendRef(myRef, ref({ foo: 'extra data' }))

extended.value.foo === 'extra data'
myRef.value.foo === 'extra data' // will not trigger update
extended === myRef
import { ref } from '@mpxjs/core'
import { extendRef } from '@mpxjs/mpxuse-core'

const myRef = { foo: 'content' }

const extended = extendRef(myRef, ref({ foo: 'extra data' }))

extended.value.foo === 'extra data'
myRef.value.foo === 'extra data' // will not trigger update
extended === myRef

类型声明

typescript
export declare type ExtendRef = MaybeComputedRef<object>
/**
 * 类似Object.assign 合并 ref对象
 * @see https://mpxuse.org/useToggle
 * @param [initialValue=false]
 */
export declare function extendRef<T extends ExtendRef>(
  target: T,
  ...sources: ExtendRef[]
): Ref
export declare type ExtendRef = MaybeComputedRef<object>
/**
 * 类似Object.assign 合并 ref对象
 * @see https://mpxuse.org/useToggle
 * @param [initialValue=false]
 */
export declare function extendRef<T extends ExtendRef>(
  target: T,
  ...sources: ExtendRef[]
): Ref

源码

源码文档

贡献者

pagnkelly

更新日志

No recent changes

根据MIT许可证发布。