GoScrobble/web/node_modules/@restart/hooks/cjs/useCommittedRef.js

26 lines
659 B
JavaScript
Raw Permalink Normal View History

2022-04-25 02:47:15 +00:00
"use strict";
exports.__esModule = true;
exports.default = void 0;
var _react = require("react");
/**
* Creates a `Ref` whose value is updated in an effect, ensuring the most recent
* value is the one rendered with. Generally only required for Concurrent mode usage
* where previous work in `render()` may be discarded befor being used.
*
* This is safe to access in an event handler.
*
* @param value The `Ref` value
*/
function useCommittedRef(value) {
var ref = (0, _react.useRef)(value);
(0, _react.useEffect)(function () {
ref.current = value;
}, [value]);
return ref;
}
var _default = useCommittedRef;
exports.default = _default;