"use strict"; exports.__esModule = true; exports.default = useForceUpdate; var _react = require("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 * ``` */ function useForceUpdate() { // The toggling state value is designed to defeat React optimizations for skipping // updates when they are stricting equal to the last state value var _useReducer = (0, _react.useReducer)(function (state) { return !state; }, false), dispatch = _useReducer[1]; return dispatch; }