> ## Documentation Index
> Fetch the complete documentation index at: https://docs.crossmint.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Hooks

> React Native hooks for React Native SDK reference for Crossmint authentication

## useCrossmintAuth()

Access Crossmint authentication state and actions: `loginWithOAuth`, `logout`, the current `user`, `jwt`, and auth `status`. Must be used within a `CrossmintAuthProvider`.

### Usage

```tsx theme={null}
import { useCrossmintAuth } from "@crossmint/client-sdk-react-native-ui";
import { View, Text, TouchableOpacity } from "react-native";

function AuthStatus() {
    const { loginWithOAuth, logout, user, jwt, status } = useCrossmintAuth();

    if (status === "initializing") return <Text>Loading...</Text>;

    return (
        <View>
            {user == null ? (
                <TouchableOpacity onPress={() => loginWithOAuth("google")}>
                    <Text>Log in</Text>
                </TouchableOpacity>
            ) : (
                <TouchableOpacity onPress={logout}>
                    <Text>Log out ({user.email})</Text>
                </TouchableOpacity>
            )}
        </View>
    );
}
```

> **Note:** Must be used within a CrossmintAuthProvider.
