Instalar dependencias
yarn add @fortawesome/fontawesome-svg-core @fortawesome/free-regular-svg-icons @fortawesome/free-solid-svg-icons @fortawesome/react-native-fontawesome yarn add @react-navigation/bottom-tabs @react-navigation/drawer @react-navigation/native @react-navigation/stack yarn add @unform/core @unform/web @unform/mobile yarn add rxjs yarn add react-native-svg yarn add react-native-reanimated cd ios && pod install
add
Web
yarn add @fortawesome/fontawesome-svg-core @fortawesome/free-regular-svg-icons @fortawesome/free-solid-svg-icons @fortawesome/react-fontawesome yarn add rxjs
Library
Components:
Hooks
useView
Descrição
Hook para facilitar a criação de páginas, facilita a busca e status da página.
Uso:
import React, { useState } from 'react';
import { Observable } from 'rxjs';
import { useView, Resolve } from 'react-lib';
const ExampleRequest: Resolve<any> = (params: any) =>
new Observable((obs) => {
obs.next({});
obs.complete();
});
const DelayedContentComponent = () => {
const { starting, errorLoadData, registerOnInit, registerOnInitError, reloadPage } = useView({
resolves: {
example: ExampleRequest,
},
});
const [resource, setResource] = useState<any>();
registerOnInit((response) => {
setResource(response.example);
});
registerOnInitError((err) => {
// Error
});
return (
<div>
{starting && <div>Carregando página</div>}
{errorLoadData && <div>Erro ao carregar página</div>}
{!starting && errorLoadData && <div>Página carregada: {JSON.stringify(resource)}</div>}
{!starting && errorLoadData && (
<button onClick={() => reloadPage()}>Recarregar página</button>
)}
</div>
);
};
Opções:
Nome | Tipo | Descrição |
---|---|---|
resolves | { [key: string]: Resolve<any> } |
Observables que devem ser iniciados antes do inicio da página |
firstLoad | boolean |
Se deve fazer o carregamento inicial dos resolves |
Retorno:
Nome | Tipo | Descrição |
---|---|---|
registerOnInit |
(fn: (resolves: any) => void) => void |
Registrar funções que são chamadas na inicialização da página |
registerOnInitError |
(fn: (err: any) => void) => void |
Registrar funções que são chamadas no erro na inicialização da página |
starting |
boolean |
Status: Iniciando |
errorLoadData |
boolean |
Status: Erro no carregamento dos resolves |
criticalError |
boolean |
Status: Erro crítico desconhecido |
statusInfo |
IStatusInfo |
statusInfo |
setStatusInfo |
(v: IObject) => any |
Definir status da página |
$destroy |
Subject<any> |
Subject para destruir resolves |
reloadPage |
(wait1s?: boolean) => void |
Recarregar página |
getParamsResolve |
MutableRefObject<{ [key: string]: () => any }> |
Lista de funções que devem ser executadas no parametro de determinado resolver |
registerResolveParams |
(resolveName: string, fn: () => any) => void |
Registrar nova função para parametro de resolver |