createSharedComposable
使一个可组合函数可以在多个 Vue 实例中使用。
警告
在 SSR 环境中使用时,createSharedComposable
将自动回退到非共享版本。这意味着在 SSR 中每次调用都会创建一个新实例,以避免跨请求状态污染。
用法
ts
import { createSharedComposable, useMouse } from '@vueuse/core'
const useSharedMouse = createSharedComposable(useMouse)
// CompA.vue
const { x, y } = useSharedMouse()
// CompB.vue - will reuse the previous state and no new event listeners will be registered
const { x, y } = useSharedMouse()
类型声明
ts
export type SharedComposableReturn<T extends AnyFn = AnyFn> = T
/**
* Make a composable function usable with multiple Vue instances.
*
* @see https://vueuse.org.cn/createSharedComposable
*
* @__NO_SIDE_EFFECTS__
*/
export declare function createSharedComposable<Fn extends AnyFn>(
composable: Fn,
): SharedComposableReturn<Fn>