Skip to content

useAddDocument Hook

useAddDocument hook is used to create documents in a collection in Firebase. A very simple example would be:

const colRef = collection(firestore, "collectionName");
const { state, dispatch, reference, error } = useAddDocument(colRef);
const docData = { name: "Eray", surname: "Erdin" };
const docRef = await dispatch(docData);


Nothing is done until you use dispatch returned by useAddDocument hook.


Do not use dispatch in parallel as it will cause race conditions.

Input Parameters

Input parameters for useAddDocument hook is as follows:

Name Type Description Required Default Value
reference firebase/firestore/CollectionReference Reference to a collection in Firestore or a query. -

Return Type

useAddDocument hook returns an object with properties as below:

Name Type Description
state "ready" or "loading" or "done" Whether this hook is ready to dispatch, currently dispatching or has dispatched successfully.
reference firebase/firestore/DocumentReference or undefined Reference of the added document.
error firebase/FirebaseError or undefined The instance of error if any.
dispatch (data: DocumentData) => Promise<DocumentReference | undefined> A function to start adding a document.


Only firebase/FirebaseError is caught if any. error will not be an instance of another type.