Menu Docs
Página inicial do Docs
/ /
Atlas Device SDKs
/ /

UserProvider (@realm/react)

Nesta página

  • Props
  • Configurar o UserProvider
  • Hooks do UserProvider
  • useUser()
Type signature
UserProvider(props): null | ReactElement<any, any>

Os componentes aninhados em UserProvider podem acessar o objeto de usuário conectado e usar os hooks UserProvider .

  • fallback?: React.ComponentType<unknown> | React.ReactElement | null | undefined O componente de contingência a ser renderizado se não houver nenhum usuário autorizado. Isso pode ser usado para renderizar uma tela de login ou lidar com a autenticação.

Os componentes envolvidos peloAppProvider podem acessar os hooks useApp e useAuth . Esses componentes só serão renderizados se conectar com êxito ao AppProvider do App Services.

Os componentes agrupados pelo UserProvider podem acessar usuários autenticados com o gancho useUser . Esses componentes só serão renderizados se o seu aplicativo tiver um usuário autenticado.

Para configurar a autenticação do usuário:

  1. Encerre todos os componentes que precisam acessar o App Services em AppProvider.

  2. Dentro do AppProvider, encerre todos os componentes que você deseja ter acesso como usuário autenticado com UserProvider.

  3. Em UserProvider, inclua um acessório de fallback com um componente que registra um usuário. O aplicativo renderiza este componente se não houver nenhum usuário autenticado.

import React from 'react';
import {AppProvider, UserProvider} from '@realm/react';
// Fallback log in component that's defined in another file.
import {LogIn} from './Login';
export const LoginExample = () => {
return (
<ScrollView>
<AppProvider id={APP_ID}>
{/* If there is no authenticated user, mount the
`fallback` component. When user successfully
authenticates, the app unmounts the `fallback`
component (in this case, the `LogIn` component). */}
<UserProvider fallback={LogIn}>
{/* Components inside UserProvider have access
to the user. These components only mount if
there's an authenticated user. */}
<UserInformation />
</UserProvider>
</AppProvider>
</ScrollView>
);
};
Type signature
useUser<FunctionsFactoryType, CustomDataType, UserProfileDataType>(): Realm.User<FunctionsFactoryType, CustomDataType, UserProfileDataType>

O hook useUser() fornece acesso ao usuário conectado. Por exemplo, você pode usar useUser() para desconectar o usuário atual.

Quando ocorrem alterações no objeto de usuário, esse hook renderiza novamente seu componente pai. Por exemplo, se você chamar user.refreshCustomData para obter dados de usuário personalizados atualizados, o componente pai useUser() será renderizado novamente.

function UserInformation() {
const user = useUser();
const {logOut} = useAuth();
const performLogout = () => {
logOut();
};
// Add UI for logging out...
}

Devoluções

  • Realm.User Uma instância do usuário do Realm atualmente autenticado.

Voltar

AppProvider (@realm/react)