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