Skip to content

Releases: atomic-state/http-react

v2.8.2

26 Jan 21:47
1cff36e

Choose a tag to compare

fix: error, data, loading:

sets the 'loading', 'data' and 'error' state in the right order

v2.7.8

26 Jan 11:03
a622e93

Choose a tag to compare

Feat: server components

re-exports FetchConfig and SSRSuspense from separate module with use client directive. Now FetchConfig can be imported directly from http-react instead of http-react/dist/server when using Server components

v2.7.5

26 Jan 04:13
fd51092

Choose a tag to compare

Feat: FetchConfig

Adds re-export of FetchConfig that can be used inside Next.js's server components:

import { FetchConfig } from 'http-react/dist/server'

export default async function Layout({ children }) {
  return (
    <div>
      <FetchConfig baseUrl='/api'>{children}</FetchConfig>
    </div>
  )
}

v2.7.0

25 Jan 22:51
e9d5024

Choose a tag to compare

Fix: onError, graphql

  • verifies if 'onError' is a function. Sets 'error' state correctly
  • Notifies other subscribers when a graphql request has finished

v2.6.8

25 Jan 02:29
65c4e32

Choose a tag to compare

For production apps

<!-- Add React and ReactDOM -->
<script
  src="https://unpkg.com/react@18.2.0/umd/react.production.min.js"
  crossorigin
></script>

<script
  src="https://unpkg.com/react-dom@18.2.0/umd/react-dom.production.min.js"
  crossorigin
></script>

<!-- Add Http React -->
<script src="https://unpkg.com/http-react/dist/browser/http-react.min.js"></script>

v2.6.7

24 Jan 16:03
1954122

Choose a tag to compare

Feat: HttpReact client (works with sever components)

  • Adds the HttpReact object, which can be used to make requests imperatively. It has a method for each HTTP verb, like get, post, etc. It also has an extend method, similar to axios.create

Example with a sever component in Next.js:

import { HttpReact } from 'http-react'
import { cookies } from 'next/headers'

export default async function MyServerPage() {
  const session = cookies().get('appSession')?.value

  const { data, error } = await HttpReact.get('/api/auth', {
    headers: { Authorization: 'Token ' + session }
  })

  if (!data || error) return <Login />

  return <App />
}

Using .extend:

import { HttpReact } from 'http-react'

const client = HttpReact.extend({
  baseUrl: '/api',
  headers: {
    Authorization: 'Token'
  }
})

export default async function MyServerPage() {
  const { data, error } = await client.get('/auth')

  if (!data || error) return <Login />

  return <App />
}

This also works in client-side components and with getServerSideProps

v2.6.5

24 Jan 07:01
ce13848

Choose a tag to compare

Feat: initialization

The first request is sent before the first render

v2.6.4

24 Jan 02:59
0e6f30a

Choose a tag to compare

Fix: loading

  • Makes the loading state more reliable
  • exposes defaultCache from src/internal

v2.6.3

23 Jan 22:17
1ae7cf1

Choose a tag to compare

Feat: use client

adds use client to main library file, which makes it possible to use FetchConfig inside Server components in Next.js

v2.6.2

22 Jan 17:56
697af5d

Choose a tag to compare

Feat: dates and auto

  • Fixed request being sent even with auto set to false
  • useFetch now also returns requestStart and requestEnd, which are the Date objects in which the request started and ended, specificaly
  • refresh, attemptInterval and debounce now need to be a TimeSpan. If you pass a number, it will be taken as miliseconds. You can also pass a string (e.g., 10 sec, 30 min, 1 w, etc). If a unit of time is not valid (e.g. 30 secc), the amount will be taken as miliseconds