Skip to content

createShareState

createShareState(options?): (source: any, options?: createShareStateOptions) => Ref<any>

创建跨组件共享状态

参数

NameType
options?createShareStateOptions

返回值

fn

▸ (source, options?): Ref<any>

参数
NameType
sourceany
options?createShareStateOptions
返回值

Ref<any>

示例

ts
// share-state/user.js
export default createShareState({
  keyFn: user => user.id,
  // 格式化所有变量实例
  transform: user => ({...user, count: user.count + 1}),
})

// 组件
import useUserState from '@/share-state/user'

const sharedUser1a = useUserState(() => users.value[0])
const sharedUser1b = useUserState(() => users.value[0], {
  keyFn: user => user.id,
  // 格式化当前变量
  transform: user => ({...user, count: user.count * 2}),
})

源码

create-share-state.js