SignOut Component
You can use SignOut component to sign out an already signed-in user. The simplest usage would be:
<SignOut
auth={auth}
/>
Tip
SignOut component listens to your authentication state automatically and reflects the changes.
You can also render specific components depending on the state.
<SignOut
auth={auth}
onReady{(dispatch) => (
<button onClick={dispatch}>Log Out</button>
)}
onLoading={() => (
{/** component/spinner to render while loading */}
)}
onAnonymous={() => (
{/** component to render when anonymous */}
)}
/>
Info
By default, onReady renders a button with text Sign Out while onLoading and onAnonymous renders an empty component.
Warning
Anonymity is handled differently in Firebase and, thus, in this component as well. See "On Anonymity" section in useSignOut hook to get a grasp of it. You can also pass a onlyRealAnon: boolean parameter to this component to change this behavior.
Input Parameters
Input parameters for FirestoreDocument component is as follows:
| Name | Type | Description | Required | Default Value |
|---|---|---|---|---|
auth |
firebase/auth/Auth |
Auth service instance. | ✅ | - |
onlyRealAnon |
boolean |
Only react when user is null. See this section. |
❌ | false |
onReady |
(dispatch: () => Promise<void>) => ReactNode |
The component to render when it's ready to sign out. | ❌ | (dispatch) => <button onClick={dispatch}>Sign Out</button> |
onLoading |
() => ReactNode |
The component to render while it's loading. | ❌ | An empty component. |
onAnonymous |
() => ReactNode |
The component to render the user is anonymous. | ❌ | An empty component. |