--- category: Reactivity --- # createRef Returns a `deepRef` or `shallowRef` depending on the `deep` param. ## Usage ```ts import { createRef } from '@vueuse/core' import { isShallow, ref } from 'vue' const initialData = 1 const shallowData = createRef(initialData) const deepData = createRef(initialData, true) isShallow(shallowData) // true isShallow(deepData) // false ``` ## Type Declarations ```ts export type CreateRefReturn< T = any, D extends boolean = false, > = ShallowOrDeepRef export type ShallowOrDeepRef< T = any, D extends boolean = false, > = D extends true ? Ref : ShallowRef /** * Returns a `deepRef` or `shallowRef` depending on the `deep` param. * * @example createRef(1) // ShallowRef * @example createRef(1, false) // ShallowRef * @example createRef(1, true) // Ref * @example createRef("string") // ShallowRef * @example createRef<"A"|"B">("A", true) // Ref<"A"|"B"> * * @param value * @param deep * @returns the `deepRef` or `shallowRef` * * @__NO_SIDE_EFFECTS__ */ export declare function createRef( value: T, deep?: D, ): CreateRefReturn ```