React hooks for data fetching
npm install http-reactHttp React is a React hooks library for data fetching. It's built on top of the native Fetch API.
With one hook call, you get all the information about a request that you can use to build UIs that are consistent and performant:
``jsx
import useFetch from 'http-react'
// This is the default fetcher.
const fetcher = (url, config) => fetch(url, config)
export default function App() {
const { data, loading, error, responseTime } = useFetch('/api/user-info', {
refresh: '30 sec',
fetcher
})
if (loading) return
Loading
if (error) return
An error ocurred
return (
It also works with Next.js' server functions:
`tsx
// actions.ts
'use server'import { actionData } from 'http-react'
export async function getData({ id }: { id: number }) {
return actionData({
foo: 'bar'
})
}
``tsx
// page.tsx
'use client'
import { useAction } from 'http-react'import { getData } from '@/actions'
export default function Page() {
// data has static typing inferred from the action result
const { data, isPending, error } = useAction(getData, {
params: {
id: 1 // This will show an error if id is not a number
}
})
return isPending ? (
Loading...
) : error ? (
Something went wrong
) : (
Welcome
{data.foo}
)
}
`It supports many features that are necessary in modern applications, while giving developers full control over the request configuration:
- Server-Side Rendering
- Server actions
- React Native
- Request deduplication
- Suspense
- Refresh
- Retry on error
- Pagination
- Local mutation (Optimistic UI)
- qraphql
and more!
#### Installation:
`bash
npm install --save http-react
`Or
`bash
yarn add http-react
``