0.9.4602 • Published 4 years ago

formws v0.9.4602

Weekly downloads
2
License
MIT
Repository
github
Last release
4 years ago

formws

NPM JavaScript Style Guide

Instalar

npm install formws
yarn add formws

Descripcion

Librería para realizar llamadas a urls, y manejar usuarios dentro de la app. Ventajas: Se escribe menos código. Se puede llamar tanto sincrónico como asincrónico. Manejo de usuario en React y React-Native Se unifican las URLS que se consumen Se usan las ultimas funciones de React, Context, useReducer Cada request que se haga, va a estar disponible en la totalidad de la aplicación al estilo del redux.

Uso

import React, { Component } from 'react'

import { WSProvider } from 'formws'

const App = () => {
  const [user, setUser] = useState({ nombre: 'Tano' })

  return (
    <WSProvider
      urls={{
        ejemplo: 'www.ejemplo.com',
        ejemplo1: 'www.ejemplo1.com'
      }} // Objeto con las urls para consumir dentro de la app
      onUser={(user) => {
        if (user) {
          localStorage.setItem(Constants.CLIENT_INFO, JSON.stringify(user))
          setUser(user)
        } else {
          setUser(null)
          localStorage.removeItem(Constants.CLIENT_INFO)
        }
      }} // Método que se llama cuando desde algún componente se utliza setUser. Ideal para usar tanto en react como react-native ya que podes guardarlo de la forma que pinte.
      user={user} // Si guardaste el usuario en algun lado, acá se lo pasas
      headers={{
        Authorization: user ? `Bearer ${user.token}` : undefined
      }} // Headers que van a tener TODAS las llamadas que se hagan
      defaultParams={{
        device_id: 'UNIQUE_ID'
      }} // Parametros por defecto que van a tener TODAS las llamadas
    >
      >
      <RestApp />
    </WSProvider>
  )
}
import React, { Component } from 'react'

import { WSProvider, useFetch } from 'formws'

const InsideComponente = () => {
  const { data, isLoading, error, call } = useFetch('ejemplo')

  useEffect(() => {
    call({ method: 'GET', query: {} })
  }, [])

  return <Components />
}

Llamada sincrónica

import React, { Component } from 'react'

import { WSProvider, useFetch } from 'formws'

const InsideComponente = () => {
  const { data, isLoading, error, call } = useFetch('ejemplo')

  return (
    <Components
      onClick={() => {
        const result = await call({ method: 'GET' })
        const { results, error } = respuesta
        if (error) {
          //Misma información que en el error de arriba
        }
        if (results) {
          // Misma información que en el data de arriba
        }
      }}
    />
  )
}

API

import { useFetch } from 'formws'

const InsideComponente = () => {
  const {
    isLoading, // Cuando se llama a call, se pone true, cuando termina false
    call, // Se usa para llamar al endpoint
    clean, // Limpia el context de la última llamada
    hookId, // Para debuguear mejor
    url, // La url del endpoint
    data, // La data que devuelve el endpoint
    error // SI ocurrió algun error se llena esta variable
  } = useFetch('ejemplo')

  return (
      <Components
        onClick={() => {
          const result = await call({
            method: 'GET' // Metoodo HTTP
            query: {}, // Objeto con los parametros a enviar, dependiendo el metodo
            data: undefined || {} || [], // Objeto o array Para poner en el contexto antes de llamar
            transformData: undefined || (data) => {return data}, //Metodo para modificar el resultado antes de ponerlo en la variable data, lo que devuelva, va a estar ahí
            isFormData: undefined || true || false // Si estás mandando archivos, usar en true
            forceSync: undefined || true || false // Solo se usa el axios, no se guarda el estado en el contexto ni se rerenderiza el componente
          })
        }}
      />
  )
}

Licencia

MIT © Julián Lionti(https://github.com/Julián Lionti)

0.9.4602

4 years ago

0.9.4600

4 years ago

0.9.4601

4 years ago

0.9.4599

4 years ago

0.9.4596

4 years ago

0.9.4597

4 years ago

0.9.4598

4 years ago

0.9.4595

4 years ago

0.9.4594

4 years ago

0.9.4593

4 years ago

0.9.4592

4 years ago

0.9.4591

4 years ago

0.9.4590

4 years ago

0.9.459

4 years ago

0.9.458

4 years ago

0.9.457

4 years ago

0.9.455

4 years ago

0.9.456

4 years ago

0.9.454

4 years ago

0.9.453

4 years ago

0.9.452

4 years ago

0.9.451

4 years ago

0.9.45

4 years ago

0.9.447

4 years ago

0.9.446

4 years ago

0.9.445

4 years ago

0.9.444

4 years ago

0.9.443

4 years ago

0.9.442

4 years ago

0.9.441

4 years ago

0.9.44

4 years ago

0.9.43

4 years ago

0.9.41

4 years ago

0.9.42

4 years ago

0.9.4

4 years ago

0.9.3

4 years ago

0.9.22

4 years ago

0.9.21

4 years ago

0.9.2

4 years ago

0.9.1

4 years ago

0.9.0

4 years ago

0.8.6

4 years ago

0.8.5

4 years ago

0.8.404

4 years ago

0.8.403

4 years ago

0.8.402

4 years ago

0.8.401

4 years ago

0.7.9

4 years ago

0.7.6

4 years ago

0.8.40

4 years ago

0.8.4

4 years ago

0.7.5

4 years ago

0.7.8

4 years ago

0.8.0

4 years ago

0.8.3

4 years ago

0.7.4

4 years ago

0.8.2

4 years ago

0.7.3

4 years ago

0.7.2

4 years ago

0.7.1

4 years ago

0.7.0

4 years ago

0.6.9

4 years ago

0.6.8

4 years ago

0.6.7

4 years ago

0.6.6

4 years ago

0.6.3

4 years ago

0.6.2

4 years ago

0.6.5

4 years ago

0.6.4

4 years ago

0.6.1

4 years ago

0.6.0

4 years ago

0.5.9

4 years ago

0.5.8

4 years ago

0.5.7

4 years ago

0.5.6

4 years ago

0.5.4

4 years ago

0.5.3

4 years ago

0.5.5

4 years ago

0.5.2

4 years ago

0.5.1

4 years ago

0.4.9

4 years ago

0.5.0

4 years ago

0.4.8

4 years ago

0.4.7

4 years ago

0.4.6

4 years ago

0.4.5

4 years ago