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 |