This lib points to be a shared codebase for the different projects inside the WP.
npm install @washingtonpost/red-react-libThis 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
In order to update/commit an update, the code needs to be built before pushing.
```
yarn install
yarn build
usePrevious Hook
Got from https://usehooks.com/usePrevious/
It saves the previous value of props or state
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 Hook
Wrapped usePromiseCallback.
It gets triggered on init and every time the args change by default.
Useful to fetch page data.
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
`js`
const [state, setState] = React.useState()
const prev = usePrevious(state)
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
`js`
const [callback, result, loading, err] = usePromiseCallback(Promise.resolve, [], 500)
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
`js``
const [callback, result, loading, err] = usePromise(Promise.resolve, ["hello"], 500)