UNPKG

@hypnosphi/recompose

Version:

A React utility belt for function components and higher-order components

33 lines (22 loc) 1.08 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.default = void 0; var _shouldUpdate = _interopRequireDefault(require("./shouldUpdate")); var _shallowEqual = _interopRequireDefault(require("./shallowEqual")); var _setDisplayName = _interopRequireDefault(require("./setDisplayName")); var _wrapDisplayName = _interopRequireDefault(require("./wrapDisplayName")); var _pick = _interopRequireDefault(require("./utils/pick")); var onlyUpdateForKeys = function onlyUpdateForKeys(propKeys) { var hoc = (0, _shouldUpdate.default)(function (props, nextProps) { return !(0, _shallowEqual.default)((0, _pick.default)(nextProps, propKeys), (0, _pick.default)(props, propKeys)); }); if (process.env.NODE_ENV !== 'production') { return function (BaseComponent) { return (0, _setDisplayName.default)((0, _wrapDisplayName.default)(BaseComponent, 'onlyUpdateForKeys'))(hoc(BaseComponent)); }; } return hoc; }; var _default = onlyUpdateForKeys; exports.default = _default;