1.5.1 • Published 2 years ago
react-json-api-client v1.5.1
react-json-api-client
Simple package to execute api requests, Right now the package is in beta phase
Installation
yarn add react-json-api-client
# or
npm i -s react-json-api-client
Usage
App.jsx
<ApiClient
config={{
endpoints: {
auth: '/api/v1/my-auth-endpoint',
nested: {
foo: '/api/v1/bar'
withReplace: '/api/v1/user/:id:'
},
},
server: 'http://my-server.test'
}}
>
{... my app components}
</ApiClient>
MyComponent.jsx
import { useGet, usePost } from 'react-json-api-client'
const MyComponent: React.FC = () => {
// First position = Promise to execute the request
// Second position = Boolean with the loading state
const [sendPost, sending] = usePost('nested.foo')
// The usePatch, usePut, useDelete works the same way
// const [sendPost, loading] = usePatch('auth')
// data: The response data when the request is done
// loading, boolean with the loading state
const {data, loading} = useGet('nested.withReplace', {
id: 2
})
// useGet can be lazy, just send the lazy flag after the configs
const [sendRequest, loading] = useGet('path', {}, true)
const handleAuth = async () => {
try {
const response = await sendPost({
// The body
data: {
email: 'my-email@gmail.com',
password: '1234567'
}
})
console.log(response.data)
} catch (e) {
// handle your error
}
}
return (
<>
</>
)
}
Todo V1.0.0
- Api client context
- Api hooks:
useGet
,usePost
,usePatch
,useDelete
,usePut
- Replace params in url
- Api configuration hook
- Allow render Requests log
- Allow authentication (JWT)
Todo V1.2.0
- Support for filters in url following the JSON Spect
- Support for related records in url following the JSON Spect
Todo Version 2.0.0
- Add JSON API schemas
1.5.1
2 years ago
1.5.0
2 years ago
1.4.1
2 years ago
1.4.0
3 years ago
1.2.0
3 years ago
1.0.9
3 years ago
1.0.8
3 years ago
1.0.7
3 years ago
1.0.6
3 years ago
1.3.1
3 years ago
1.3.0
3 years ago
1.0.11
3 years ago
1.0.10
3 years ago
1.0.14
3 years ago
1.0.13
3 years ago
1.0.12
3 years ago
1.0.4
3 years ago
1.0.3
3 years ago
1.0.2
3 years ago
1.0.2-beta.3
3 years ago
1.1.0
3 years ago
1.0.0
3 years ago
1.0.0-beta.1
3 years ago
1.0.0-beta.0
3 years ago