0.2.19 • Published 6 years ago

ter-request-wrapper v0.2.19

Weekly downloads
4
License
ISC
Repository
-
Last release
6 years ago

ThreeEyeRaven91's RequestWrapper component for HTTP Request

Installation

npm install ter-request-wrapper --save

# or

yarn add ter-request-wrapper

How to use

As Headless Component

import { Request } from 'ter-request-wrapper';

<Request url={someUrl}>
  {(props) => {
    return <Something />
  }}
</Request>

Params

ParamsTypeDefaultDescription
urlStringURL of data
methodStringGETMethod of request
onRequestStartedFuncCall when request started
onRequestCompletedFunc({rawData})Call when request finished
onRequestErrorFunc(error)Call when request error
onDataUpdateFunc(newData, oldData)Provide the way to pre-process data before update to current data

Children props

ParamsTypeDefaultDescription
dataobject or arrayfalseData return after query and onDataUpdate
rawDataobject or arrayfalseData return after query
loadingbooleanfalsequery is running or not
loadedbooleanfalsetrue if query already performed once
errorobjectfalsereturn error of query

Best Practice

API Pre-defined

By using config function, you can predefine for all of your API and shortened source code, provide meaningful request component.

import {Request, config} from 'ter-request-wrapper';

export const RequestUser = config({
  url: 'http://example.com/api/user',
  method: 'GET',
})(Request);

# in component file

<RequestUser params={{ userId: this.state.userId }}>
  {({data}) => {
    // return somthing
  }}
</RequestUser>

Roadmap

VersionDescriptionStatus
0.1.xUsing render props for calling GET requestDone
0.2.xApply with other method and paramsIn Progress
0.3.xHandle error, auto retry, pollingTo do
0.4.xCaching, nonceTo do
0.5.xHigher-Order ComponentIn Progress
0.6.xCompose multiple requestTo do
0.7.xPre-defined APITo do
1.0.0Official releaseTo do
1.1.xGenerate API from swaggerIn Progress
0.2.19

6 years ago

0.2.18

6 years ago

0.2.17

6 years ago

0.2.16

6 years ago

0.2.15

6 years ago

0.2.14

6 years ago

0.2.13

6 years ago

0.2.12

6 years ago

0.2.11

6 years ago

0.2.10

6 years ago

0.2.9

6 years ago

0.2.8

6 years ago

0.2.7

6 years ago

0.2.6

6 years ago

0.2.4

6 years ago

0.2.3

6 years ago

0.2.2

6 years ago

0.2.1

6 years ago

0.1.4

6 years ago

0.1.3

6 years ago

0.1.2

6 years ago

0.1.1

6 years ago

0.1.0

6 years ago