Add comprehensive reference documentation for: - Vitest: environments, projects/workspaces, type testing, vi utilities - Pinia: HMR, Nuxt integration, SSR setup - Vue: built-in components (Transition, Teleport, Suspense, KeepAlive) and advanced directives
37 lines
541 B
Markdown
37 lines
541 B
Markdown
---
|
|
category: Reactivity
|
|
---
|
|
|
|
# refDefault
|
|
|
|
Apply default value to a ref.
|
|
|
|
## Usage
|
|
|
|
```ts
|
|
import { refDefault, useStorage } from '@vueuse/core'
|
|
|
|
const raw = useStorage('key')
|
|
const state = refDefault(raw, 'default')
|
|
|
|
raw.value = 'hello'
|
|
console.log(state.value) // hello
|
|
|
|
raw.value = undefined
|
|
console.log(state.value) // default
|
|
```
|
|
|
|
## Type Declarations
|
|
|
|
```ts
|
|
/**
|
|
* Apply default value to a ref.
|
|
*
|
|
* @__NO_SIDE_EFFECTS__
|
|
*/
|
|
export declare function refDefault<T>(
|
|
source: Ref<T | undefined | null>,
|
|
defaultValue: T,
|
|
): Ref<T>
|
|
```
|