red-react-lib
This lib points to be a shared codebase for the different projects inside the WP.
For the time being we are using it as a git subtree
Updating this lib
In order to update/commit an update, the code needs to be built before pushing.
To build the project run
yarn install
yarn build
Modules
Functions
- usePrevious(value)
-
usePrevious Hook
Got from https://usehooks.com/usePrevious/ It saves the previous value of props or state
- usePromiseCallback(promise, deps, delayMS)
-
usePromiseCallback Hook
Hook dedicated to offer a sync way of accessing a promise state.
Keeps the last result until new results are loaded, to avoid UI flashes.
Supports a delayMS param to customise the loading threshold, to avoid UI flashes.
Only processes the last promise call.
- usePromise(promise, deps, delayMS)
-
usePromise Hook
Wrapped usePromiseCallback.
It gets triggered on init and every time the args change by default.
Useful to fetch page data.
hooks
usePrevious(value)
usePrevious Hook
Got from https://usehooks.com/usePrevious/ It saves the previous value of props or state
Kind: global function
Param | Type | Description |
---|---|---|
value | * |
The value to save |
Example
const [state, setState] = React.useState()
const prev = usePrevious(state)
usePromiseCallback(promise, deps, delayMS)
usePromiseCallback Hook
Hook dedicated to offer a sync way of accessing a promise state.
Keeps the last result until new results are loaded, to avoid UI flashes.
Supports a delayMS param to customise the loading threshold, to avoid UI flashes.
Only processes the last promise call.
Kind: global function
Param | Type | Description |
---|---|---|
promise | Promise |
The promise that would be wrapped |
deps | Array.<any> |
extra deps used to re-create the callback |
delayMS | number |
The delay in ms to switch the loading state to true |
Example
const [callback, result, loading, err] = usePromiseCallback(Promise.resolve, [], 500)
usePromise(promise, deps, delayMS)
usePromise Hook
Wrapped usePromiseCallback.
It gets triggered on init and every time the args change by default.
Useful to fetch page data.
Kind: global function
Param | Type | Description |
---|---|---|
promise | Promise |
The promise that would be wrapped |
deps | Array.<any> |
deps to call the function with |
delayMS | number |
The delay in ms to switch the loading state to true |
Example
const [callback, result, loading, err] = usePromise(Promise.resolve, ["hello"], 500)