AppProvider(props, context?): null | ReactElement<any, any>
Componentes anidados dentro AppProvider puede acceder a su aplicación de servicios de aplicaciones y utilizar los ganchos AppProvider.
Accesorios
Todas las propiedades de AppConfiguration se puede pasar como propiedad AppProvider a.
Configurar AppProvider
Para configurar el cliente de la aplicación, pasa la cadena de ID de la aplicación a la propiedad id de AppProvider. Encapsula cualquier componente que necesite acceder a la aplicación con AppProvider.
import React from 'react'; import {AppProvider} from '@realm/react'; function AppWrapper() { return ( <View> <AppProvider id={APP_ID}> <MyApp /> </AppProvider> </View> ); }
Puedes crear varias instancias de cliente de aplicación para conectarte a varias aplicaciones. Todas las instancias de cliente de aplicación que comparten el mismo ID de aplicación usan la misma conexión subyacente.
Importante
Cambiar la configuración de una aplicación después de inicializarla
Cambiado en la versión realm@12.6.0: baseUrl no está almacenado en caché
Al inicializar el cliente de la aplicación, la configuración se almacena en caché internamente. Intentar cerrar y volver a abrir una aplicación con la configuración modificada dentro del mismo proceso no tiene ningún efecto. El cliente continúa usando la configuración en caché.
A partir de la versión del SDK de React 12.6.0 Native, el baseUrl del AppConfiguration no se almacena en caché. Esto significa que puedes cambiar el baseUrl y el cliente de la aplicación usará la configuración actualizada. En versiones anteriores del SDK, los cambios en el baseUrl de una configuración de la aplicación almacenada en caché no surten efecto.
Ganchos utilizados con AppProvider
usarAuth()
useAuth(): UseAuth
useAuth tiene un método de autenticación para cada proveedor de autenticación de App Services.
resultado
result: AuthResult
Resultado de la operación de autenticación. Por ejemplo, result.operation proporciona el nombre de la operación actual.
Enum values
statePuede ser "no iniciado", "pendiente", "éxito", "error".operationPara obtener una lista de todos los nombres de operaciones, consulte la documentación de la API.pending. Puede sertrueofalse.success. Puede sertrueofalse.errorObjeto basado en errores o indefinido.
loginIn(credenciales)
logIn(credentials: Realm.Credentials): void
Parámetros
credentials. Una credencial de Realm proporcionada por cualquier autenticación de Realm compatible.
Ejemplo
Inicia sesión con cualquier mecanismo de autenticación compatible con Realm. Si se llama al iniciar sesión, el usuario actual se convierte en el nuevo. Normalmente, es mejor usar métodos de inicio de sesión más específicos.
const {logIn, result} = useAuth(); useEffect(() => logIn(Realm.Credentials.anonymous()), []); if(result.pending) { return (<LoadingSpinner/>) } if(result.error) { return (<ErrorComponent/>) } if(result.success) { return (<SuccessComponent/>) } //...
iniciar sesión con anónimo()
logInWithAnonymous(): void
Ejemplo
Inicie sesión con el proveedor de autenticación anónimo.
const {logInWithAnonymous, result} = useAuth(); const performLogin = () => { logInWithAnonymous(); };
logInWithApiKey(key)
logInWithApiKey(key: string): void
Parámetros
key. Una cadena que está vinculada a un usuario de App Services.
Ejemplo
Inicie sesión con una clave API.
const {logInWithApiKey, result} = useAuth(); const performLogin = () => { const key = getApiKey(); // user defined function logInWithApiKey(key); };
logInWithEmailPassword(credenciales)
logInWithEmailPassword(credentials: { email: string; password: string; }): void
Parámetros
credentialsUn objeto con camposemailypassword.
Ejemplo
Inicie sesión con correo electrónico/contraseña.
const {logInWithEmailPassword, result} = useAuth(); const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const performLogin = () => { logInWithEmailPassword({email, password}); };
logInWithJWT(credenciales)
logInWithJWT(token: string): void
Parámetros
credentials. Una representación de cadena del JWT de un usuario.
Ejemplo
Iniciar sesión con un JSON Web Token (JWT).
const {logInWithJWT, result} = useAuth(); const performLogin = () => { const token = authorizeWithCustomerProvider(); // user defined function logInWithJWT(token); };
logInWithGoogle(credenciales)
logInWithGoogle(credentials: { idToken: string; } | { authCode: string; }): void;
Parámetros
credentialsUn objeto con un campoidTokenoauthCodeque debe contener el token de cadena que obtiene de Google Identity Services.
Ejemplo
Inicia sesión con Google.
const {logInWithGoogle, result} = useAuth(); const performLogin = () => { const token = getGoogleToken(); // user defined function logInWithGoogle({idToken: token}); };
iniciar sesión con Apple(idToken)
logInWithApple(idToken: string): void;
Parámetros
idTokenUna cadena que se obtiene del SDK de Apple.
Ejemplo
Iniciar sesión con Apple.
const {logInWithApple, result} = useAuth(); const performLogin = () => { const token = getAppleToken(); // user defined function logInWithApple(token); };
logInWithFacebook(accessToken)
logInWithFacebook(accessToken: string): void;
Parámetros
accessTokenUna cadena que obtienes del SDK de Facebook.
Ejemplo
Inicia sesión con Facebook.
const {logInWithFacebook, result} = useAuth(); const performLogin = () => { const token = getFacebookToken(); // user defined function logInWithFacebook(token); };
logInWithFunction(payload)
logInWithFunction<PayloadType extends Record<string, unknown>>(payload: PayloadType): void;
Parámetros
payloadUn objeto que contiene información del usuario que desea pasar a la función de App Services que procesa las solicitudes de inicio de sesión.
Ejemplo
Inicie sesión con una función personalizada.
const {logInWithFunction, result} = useAuth(); const performLogin = () => { const customPayload = getAuthParams(); // user defined arguments logInWithFunction(customPayload); };
cerrar sesión()
logOut(): void;
Ejemplo
Cierra la sesión del usuario actual.
const {logOut, result} = useEmailPasswordAuth(); const performLogout = () => { logOut(); }
usarEmailPasswordAuth()
result: AuthResult
Resultado de la operación de autenticación. Por ejemplo, result.operation proporciona el nombre de la operación actual.
Enum values
statePuede ser "no iniciado", "pendiente", "éxito", "error".operationPara obtener una lista de todos los nombres de operaciones, consulte la documentación de la API.pending. Puede sertrueofalse.success. Puede sertrueofalse.errorObjeto basado en errores o indefinido.
loginIn(credenciales)
logIn(credentials: { email: string; password: string }): void;
Parámetros
credentialsUn objeto que contiene propiedadesemailypassword.
Ejemplo
Inicia sesión con correo electrónico y contraseña. También puedes llamar a logIn(Realm.Credentials.emailPassword(email, password)). Devuelve una instancia Realm.User del usuario que inició sesión.
const {logIn, result} = useEmailPasswordAuth(); const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const performLogin = () => { logIn({email, password}); }; if(result.pending) { return (<LoadingSpinner/>) } if(result.error) { return (<ErrorComponent/>) } if(result.success) { return (<SuccessComponent/>) } //...
cerrar sesión()
logOut(): void;
Ejemplo
Cierra la sesión del usuario actual.
const {logOut, result} = useEmailPasswordAuth(); const performLogout = () => { logOut(); }
registrar(args)
register(args: { email: string; password: string }): void;
Parámetros
argsUn objeto que contiene propiedadesemailypassword.
Ejemplo
Registra un nuevo usuario. Requiere un correo electrónico y una contraseña.
const {register, result} = useEmailPasswordAuth(); const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const performRegister = () => { register({email, password}); };
confirmar(argumentos)
confirm(args: { token: string; tokenId: string }): void;
Parámetros
argsUn objeto que contiene propiedadestokenytokenId.
Ejemplo
Confirma una cuenta de usuario. Requiere token y tokenId.
const {confirm, result} = useEmailPasswordAuth(); const performConfirmation = () => { confirm({token, tokenId}); };
reenviarCorreoElectrónicoDeConfirmación(args)
resendConfirmationEmail(args: { email: string }): void;
Parámetros
argsUn objeto que contiene una propiedademail.
Ejemplo
Reenvía un correo electrónico de confirmación.
const {resendConfirmationEmail, result} = useEmailPasswordAuth(); const [email, setEmail] = useState(''); const performResendConfirmationEmail = () => { resendConfirmationEmail({email}); };
reintentarConfirmaciónPersonalizada(args)
retryCustomConfirmation(args: { email: string }): void;
Parámetros
argsUn objeto que contiene una propiedademail.
Ejemplo
Vuelve a intentar la confirmación con una función personalizada.
const {retryCustomConfirmation, result} = useEmailPasswordAuth(); const [email, setEmail] = useState(''); const performRetryCustomConfirmation = () => { retryCustomConfirmation({email}); };
enviarRestablecerContraseñaCorreoElectrónico(args)
sendResetPasswordEmail(args: { email: string }): void;
Parámetros
argsUn objeto que contiene una propiedademail.
Ejemplo
Envía un correo electrónico de restablecimiento de contraseña.
const {sendResetPasswordEmail, result} = useEmailPasswordAuth(); const [email, setEmail] = useState(''); const performSendResetPasswordEmail = () => { sendResetPasswordEmail({email}); };
resetPassword(args)
resetPassword(args: { token: string; tokenId: string; password: string }): void;
Parámetros
argsUn objeto que contiene propiedadestoken,tokenIdypassword.
Ejemplo
Restablece la contraseña de un usuario.
const {resetPassword, result} = useEmailPasswordAuth(); const [password, setPassword] = useState(''); const performResetPassword = () => { resetPassword({token, tokenId, password}); };
llamar aFunciónRestablecerContraseña(args, restArgs)
callResetPasswordFunction<Args extends unknown[] = []>( args: { email: string; password: string; }, ...restArgs: Args ): void;
Parámetros
argsUn objeto que contiene propiedadesemailypassword.restArgs. Argumentos adicionales que debe pasar a su función de restablecimiento de contraseña personalizada.
Ejemplo
Llama a la función de restablecimiento de contraseña del backend de App Services. Puede pasarle argumentos según sea necesario.
const {callResetPasswordFunction, result} = useEmailPasswordAuth(); const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const performResetPassword = () => { callResetPasswordFunction({email, password}, "extraArg1", "extraArg2"); };
usarApp()
useApp<FunctionsFactoryType, CustomDataType>(): Realm.App<FunctionsFactoryType, CustomDataType>
Ejemplo
El useApp() gancho proporciona acceso a una instancia de Realm.App.
import React from 'react'; import {useApp} from '@realm/react';
function MyApp() { const app = useApp(); // Proceed to app logic... }
Devuelve
Realm.AppUna instancia delRealm.Appactual creada porAppProvider.