useDeleteUser
hook
useDeleteUser
hook is used to delete the currently signed-in user. A very simple example would be:
const { dispatch } = useDeleteUser(auth);
await dispatch();
Warning
useDeleteUser
, as mentioned, can only delete the currently signed-in user from the client side. Due to security reasons, you cannot delete any other user. If you want to delete another user, use Firebase Auth from Firebase Console or Firebase Functions.
Warning
useDeleteUser
is lazy by default and will not do anything until you use dispatch
function.
You can also get the state1 of deletion process.
const { state, dispatch } = useDeleteUser(auth);
await dispatch();
// `state` is "ready" | "loading" | "anonymous"
Warning
useDeleteUser
automatically listens to authentication state and will be "anonymous"
if the user is anonymous. In "anonymous"
state, dispatch
will simply do nothing even if it is invoked.
By default, "anonymous"
state includes both real anonymous and Firebase-handled anonymous users2. If you'd like to enable deleting Firebase-handled anonymous users as well, you can use includeFirebaseAnon
as such:
// assuming user is Firebase-handled anon
const { dispatch } = useDeleteUser(auth, { includeFirebaseAnon: true });
await dispatch(); // this will delete anonymous user
Input Parameters
Input parameters for useDeleteUser
hook is as follows:
Name | Type | Description | Required | Default Value |
---|---|---|---|---|
auth |
firebase/auth/Auth |
Reference to the Firebase Auth service instance. | ✅ | - |
options |
Object |
Options for the operation. | ❌ | See below. |
options.includeFirebaseAnon |
boolean |
Enable deleting Firebase-handled anonymous users. | ❌ | false |
Return Type
useDeleteUser
hook returns an object with properties as below:
Name | Type | Description |
---|---|---|
state |
"ready" | "loading" | "anonymous" 1 |
The state of sign-up process. |
dispatch |
() => Promise<void> |
A callback to start deletion process. |
-
See "On Anonimity" section on
useSignOut
hook to learn more about how Firebase handles anonymity. ↩