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
- hooks
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)