This repository has been archived by the owner on Nov 10, 2023. It is now read-only.
Releases: jxom/react-loads
Releases · jxom/react-loads
v8.3.0: Implemented "Resources" & experimental Concurrent API (#26)
Changes
Features
- Implemented Resources which aim to encapsulate your async functions into a top-level resource to be used throughout your application. See the Guide & API
- Added super experimental Concurrent React support
8.2.0
8.1.0
Changes
Features
- Added a
cachedRecord
attribute to the loader function argument to have the ability to retrieve the record from the cache. See the CodeSandbox example - Added a
useLoadsCache(context)
hook to programmatically fetch a record from the cache.
Fixes
- Added ability to infer response type with
useLoads
. See the TypeScript example
v8.0.0
React Loads is now class component compatible! Using the "render props" pattern, you are now able to use React Loads in your components.
v7 to v8
BREAKING CHANGES
- It is now required to wrap your app in a
<LoadsContext.Provider>
import React from 'react';
import ReactDOM from 'react-dom';
import { LoadsContext } from 'react-loads';
ReactDOM.render(
<LoadsContext.Provider>
{/* ... */}
<LoadsContext.Provider>
)
setCacheProvider
has been removed in favour of thecacheProvider
prop on<LoadsContext.Provider>
Before:
import React from 'react';
import ReactDOM from 'react-dom';
import { setCacheProvider } from 'react-loads';
const cacheProvider = {
get: key => store.get(key),
set: (key, val) => store.set(key, val)
}
setCacheProvider(cacheProvider);
ReactDOM.render(/* Your app here */)
After:
import React from 'react';
import ReactDOM from 'react-dom';
import { LoadsContext } from 'react-loads';
const cacheProvider = {
get: key => store.get(key),
set: (key, val) => store.set(key, val)
}
ReactDOM.render(
<LoadsContext.Provider cacheProvider={cacheProvider}>
{/* ... */}
<LoadsContext.Provider>
)
Features
- React Loads is now a zero-dependency library!
- You can now use Render Props with the latest version of React Loads using the
<Loads>
component.
v6 to v8
BREAKING CHANGES
<LoadsProvider>
has been renamed to<LoadsContext.Provider>
- It is now required to wrap your app in a
<LoadsContext.Provider>
import React from 'react';
import ReactDOM from 'react-dom';
import { LoadsContext } from 'react-loads';
ReactDOM.render(
<LoadsContext.Provider>
{/* ... */}
<LoadsContext.Provider>
)
loadOnMount
has been removed -<Loads>
now loads on mount automatically.- To stop
<Loads>
from loading on mount automatically, add thedefer
prop. This will not load the loading function until it is invoked with theload
render prop.
- To stop
createLoader
has been removed - consider using the React Hook instead.contextKey
has been renamed tocontext
isLoading
has been renamed toisPending
isSuccess
has been renamed toisResolved
isError
has been renamed toisRejected
<Loads.Loading>
has been renamed to<Loads.Pending>
<Loads.Success>
has been renamed to<Loads.Resolved>
<Loads.Error>
has been renamed to<Loads.Rejected>
7.0.0
BREAKING
- React Loads is now a React Hook which can only be used in function components. If you wish to still use React Loads in class (and/or function) components, click here.