0.9.4602 • Published 5 years ago

formws v0.9.4602

Weekly downloads
2
License
MIT
Repository
github
Last release
5 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

5 years ago

0.9.4600

5 years ago

0.9.4601

5 years ago

0.9.4599

5 years ago

0.9.4596

5 years ago

0.9.4597

5 years ago

0.9.4598

5 years ago

0.9.4595

5 years ago

0.9.4594

5 years ago

0.9.4593

5 years ago

0.9.4592

5 years ago

0.9.4591

5 years ago

0.9.4590

5 years ago

0.9.459

5 years ago

0.9.458

5 years ago

0.9.457

5 years ago

0.9.455

5 years ago

0.9.456

5 years ago

0.9.454

5 years ago

0.9.453

5 years ago

0.9.452

5 years ago

0.9.451

5 years ago

0.9.45

5 years ago

0.9.447

5 years ago

0.9.446

5 years ago

0.9.445

5 years ago

0.9.444

5 years ago

0.9.443

5 years ago

0.9.442

5 years ago

0.9.441

5 years ago

0.9.44

5 years ago

0.9.43

5 years ago

0.9.41

5 years ago

0.9.42

5 years ago

0.9.4

5 years ago

0.9.3

5 years ago

0.9.22

5 years ago

0.9.21

5 years ago

0.9.2

5 years ago

0.9.1

5 years ago

0.9.0

5 years ago

0.8.6

5 years ago

0.8.5

5 years ago

0.8.404

5 years ago

0.8.403

5 years ago

0.8.402

5 years ago

0.8.401

5 years ago

0.7.9

5 years ago

0.7.6

5 years ago

0.8.40

5 years ago

0.8.4

5 years ago

0.7.5

5 years ago

0.7.8

5 years ago

0.8.0

5 years ago

0.8.3

5 years ago

0.7.4

5 years ago

0.8.2

5 years ago

0.7.3

5 years ago

0.7.2

5 years ago

0.7.1

5 years ago

0.7.0

5 years ago

0.6.9

5 years ago

0.6.8

5 years ago

0.6.7

5 years ago

0.6.6

5 years ago

0.6.3

5 years ago

0.6.2

5 years ago

0.6.5

5 years ago

0.6.4

5 years ago

0.6.1

5 years ago

0.6.0

5 years ago

0.5.9

5 years ago

0.5.8

5 years ago

0.5.7

5 years ago

0.5.6

5 years ago

0.5.4

5 years ago

0.5.3

5 years ago

0.5.5

5 years ago

0.5.2

5 years ago

0.5.1

5 years ago

0.4.9

5 years ago

0.5.0

5 years ago

0.4.8

5 years ago

0.4.7

5 years ago

0.4.6

5 years ago

0.4.5

5 years ago