Jesus sucks
This commit is contained in:
24
backend/frontend/node_modules/@restart/hooks/esm/useForceUpdate.js
generated
vendored
Normal file
24
backend/frontend/node_modules/@restart/hooks/esm/useForceUpdate.js
generated
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
import { useReducer } from 'react';
|
||||
|
||||
/**
|
||||
* Returns a function that triggers a component update. the hook equivalent to
|
||||
* `this.forceUpdate()` in a class component. In most cases using a state value directly
|
||||
* is preferable but may be required in some advanced usages of refs for interop or
|
||||
* when direct DOM manipulation is required.
|
||||
*
|
||||
* ```ts
|
||||
* const forceUpdate = useForceUpdate();
|
||||
*
|
||||
* const updateOnClick = useCallback(() => {
|
||||
* forceUpdate()
|
||||
* }, [forceUpdate])
|
||||
*
|
||||
* return <button type="button" onClick={updateOnClick}>Hi there</button>
|
||||
* ```
|
||||
*/
|
||||
export default function useForceUpdate() {
|
||||
// The toggling state value is designed to defeat React optimizations for skipping
|
||||
// updates when they are strictly equal to the last state value
|
||||
const [, dispatch] = useReducer(state => !state, false);
|
||||
return dispatch;
|
||||
}
|
||||
Reference in New Issue
Block a user