@sanity/desk-tool
Version:
Tool for managing all sorts of content in a structured manner
24 lines (23 loc) • 741 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useShallowUnique = useShallowUnique;
var _react = require("react");
var _shallowEquals = _interopRequireDefault(require("shallow-equals"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* This is a React hook that can be used to make sure a value is the same,
* when none of it’s values have changed.
*
* This is useful for preventing unnecessary renders in some case.
*
* @internal
*/
function useShallowUnique(value) {
var valueRef = (0, _react.useRef)(value);
if (!(0, _shallowEquals.default)(valueRef.current, value)) {
valueRef.current = value;
}
return valueRef.current;
}