Releases: atomic-state/http-react
Releases · atomic-state/http-react
v3.7.3
v3.7.3
Enhancements
- Prevents unexpected side effects by avoiding setting global cache server side
v3.7.2
v3.7.2
Improvements:
- Improves
<Suspense>support - Improves Supense errors when no fallback data is provided
v3.6.7
Enhancements
- Enhances caching with
maxCacheAgewithdebounce
v3.6.6
Fixes
- Fixes mutate not updating data after initial fetch
v3.6.4
Important fix
- Fixes errors not being returned in prod when using server actions
v3.6.3
Features and enhancements
- Adds the function
$searchParamsthat returns all searchParams - Enhances the useFetch function: the
submit()method can be used with any data type
v3.5.7
Enhancements
- The
jsonComparefn can be used for shallow comparison
v3.5.6
Features
attempts can now be a function
Example usage (retry 4 times):
const { data } = useFetch("/api/data", {
attempts({ status, res }) {
if (status === 404) return // Don't retry 404s
console.log("Failed to fetch ", res.url)
return 4
},
attemptInterval: "2 sec",
})You can always use a number as attempts
v3.5.4
Enhancements
- Fixes FetchConfig for chunking: promises can be passed as fallback data in
<FetchConfig> - Default values (fallback data) are overwriten always when present in
<FetchConfig>
v3.3.2
Features
Adds the submit method
The submit method is expected to be used in a <form> element. It will send the request body as FormData.
Usage:
"use client"
import { useMutation } from "http-react"
export default function Home() {
// You can also read 'isLoading'
const { submit, isPending, error } = useMutation("/api/test", {
method: "POST",
})
return (
<main className="p-16">
<form action={submit}>
<input
type="text"
name="email"
className="border-2 border-black p-2 rounded-lg"
/>
</form>
{isPending && <p>Submitting</p>}
{error && <p>Error</p>}
</main>
)
}