Skip to content

useRTDB

Category
Export Size
257 B
Package
@vueuse/firebase
Last Changed
4 days ago

Reactive Firebase Realtime Database binding. Making it straightforward to always keep your local data in sync with remotes databases. Available in the @vueuse/firebase add-on.

Usage

ts
import { 
useRTDB
} from '@vueuse/firebase/useRTDB'
import {
initializeApp
} from 'firebase/app'
import {
getDatabase
} from 'firebase/database'
const
app
=
initializeApp
({ /* config */ })
const
db
=
getDatabase
(
app
)
// in setup() const
todos
=
useRTDB
(
db
.ref('todos'))

You can reuse the db reference by passing autoDispose: false

ts
const 
todos
= useRTDB(db.ref('todos'), {
autoDispose
: false })

or use createGlobalState from the core package

ts
// store.ts
import { 
createGlobalState
} from '@vueuse/core'
import {
useRTDB
} from '@vueuse/firebase/useRTDB'
export const
useTodos
=
createGlobalState
(
() =>
useRTDB
(db.ref('todos')),
)
vue
<!-- app.vue -->
<script setup lang="ts">
import { 
useTodos
} from './store'
const
todos
=
useTodos
()
</script>

Type Declarations

ts
export interface UseRTDBOptions {
  
errorHandler
?: (
err
: Error) => void
autoDispose
?: boolean
} /** * Reactive Firebase Realtime Database binding. * * @see https://vueuse.org/useRTDB */ export declare function
useRTDB
<
T
= any>(
docRef
:
DatabaseReference
,
options
?: UseRTDBOptions,
):
Ref
<
T
| undefined,
T
| undefined>

Source

SourceDocs

Contributors

NoiseFan

Changelog

No recent changes

Released under the MIT License.