--- category: '@Firebase' --- # useRTDB Reactive [Firebase Realtime Database](https://firebase.google.com/docs/database) binding. Making it straightforward to **always keep your local data in sync** with remotes databases. ## 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 twoslash include store // @filename: store.ts // ---cut--- // store.ts import { createGlobalState } from '@vueuse/core' import { useRTDB } from '@vueuse/firebase/useRTDB' export const useTodos = createGlobalState( () => useRTDB(db.ref('todos')), ) ``` ```vue ``` ## 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( docRef: DatabaseReference, options?: UseRTDBOptions, ): Ref ```