Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

shouldUpdate.js 1.4 KiB

il y a 3 ans
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. exports.__esModule = true;
  4. exports.default = void 0;
  5. var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
  6. var _react = require("react");
  7. var _setDisplayName = _interopRequireDefault(require("./setDisplayName"));
  8. var _wrapDisplayName = _interopRequireDefault(require("./wrapDisplayName"));
  9. var shouldUpdate = function shouldUpdate(test) {
  10. return function (BaseComponent) {
  11. var factory = (0, _react.createFactory)(BaseComponent);
  12. var ShouldUpdate =
  13. /*#__PURE__*/
  14. function (_Component) {
  15. (0, _inheritsLoose2.default)(ShouldUpdate, _Component);
  16. function ShouldUpdate() {
  17. return _Component.apply(this, arguments) || this;
  18. }
  19. var _proto = ShouldUpdate.prototype;
  20. _proto.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {
  21. return test(this.props, nextProps);
  22. };
  23. _proto.render = function render() {
  24. return factory(this.props);
  25. };
  26. return ShouldUpdate;
  27. }(_react.Component);
  28. if (process.env.NODE_ENV !== 'production') {
  29. return (0, _setDisplayName.default)((0, _wrapDisplayName.default)(BaseComponent, 'shouldUpdate'))(ShouldUpdate);
  30. }
  31. return ShouldUpdate;
  32. };
  33. };
  34. var _default = shouldUpdate;
  35. exports.default = _default;