amis-rpc-design/node_modules/antd/lib/_util/hooks/useSyncState.js

19 lines
680 B
JavaScript
Raw Normal View History

2023-10-07 19:42:30 +08:00
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = useSyncState;
var React = _interopRequireWildcard(require("react"));
var _useForceUpdate = _interopRequireDefault(require("./useForceUpdate"));
function useSyncState(initialValue) {
const ref = React.useRef(initialValue);
const forceUpdate = (0, _useForceUpdate.default)();
return [() => ref.current, newValue => {
ref.current = newValue;
// re-render
forceUpdate();
}];
}