Skip to content

createSharedComposable

Category
Export Size
232 B
Last Changed
last week
Related

Make a composable function usable with multiple Vue instances.

Usage

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()

Type Declarations

typescript
export type SharedComposableReturn<T extends AnyFn = AnyFn> = T
/**
 * Make a composable function usable with multiple Vue instances.
 *
 * @see https://vueuse.org/createSharedComposable
 */
export declare function createSharedComposable<Fn extends AnyFn>(
  composable: Fn,
): SharedComposableReturn<Fn>

Source

SourceDocs

Contributors

Anthony Fu
Robin
Anthony Fu
XinXiao
童欧巴
Egor Kotlyarov

Changelog

c1d6e - feat(shared): ensure return types exists (#4659)
0a9ed - feat!: drop Vue 2 support, optimize bundles and clean up (#4349)
a2441 - fix: handle the case where the return value of composable function is empty (#4151)

Released under the MIT License.