@atlaskit/motion
Version:
A set of utilities to apply motion in your application.
20 lines (19 loc) • 597 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useSnapshotBeforeUpdate = void 0;
var _react = require("react");
var _useLayoutEffect = require("../utils/use-layout-effect");
/**
* This hook tries to emulate the getSnapshotBeforeUpdate lifecycle method.
*/
var useSnapshotBeforeUpdate = exports.useSnapshotBeforeUpdate = function useSnapshotBeforeUpdate(cb) {
var isFirstRender = (0, _react.useRef)(true);
if (!isFirstRender.current) {
cb();
}
(0, _useLayoutEffect.useLayoutEffect)(function () {
isFirstRender.current = false;
}, []);
};