Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

3 лет назад
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. exports.__esModule = true;
  4. exports.default = void 0;
  5. var _extends3 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
  6. var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
  7. var _react = require("react");
  8. var _setDisplayName = _interopRequireDefault(require("./setDisplayName"));
  9. var _wrapDisplayName = _interopRequireDefault(require("./wrapDisplayName"));
  10. var withState = function withState(stateName, stateUpdaterName, initialState) {
  11. return function (BaseComponent) {
  12. var factory = (0, _react.createFactory)(BaseComponent);
  13. var WithState =
  14. /*#__PURE__*/
  15. function (_Component) {
  16. (0, _inheritsLoose2.default)(WithState, _Component);
  17. function WithState() {
  18. var _this;
  19. for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
  20. args[_key] = arguments[_key];
  21. }
  22. _this = _Component.call.apply(_Component, [this].concat(args)) || this;
  23. _this.state = {
  24. stateValue: typeof initialState === 'function' ? initialState(_this.props) : initialState
  25. };
  26. _this.updateStateValue = function (updateFn, callback) {
  27. return _this.setState(function (_ref) {
  28. var stateValue = _ref.stateValue;
  29. return {
  30. stateValue: typeof updateFn === 'function' ? updateFn(stateValue) : updateFn
  31. };
  32. }, callback);
  33. };
  34. return _this;
  35. }
  36. var _proto = WithState.prototype;
  37. _proto.render = function render() {
  38. var _extends2;
  39. return factory((0, _extends3.default)({}, this.props, (_extends2 = {}, _extends2[stateName] = this.state.stateValue, _extends2[stateUpdaterName] = this.updateStateValue, _extends2)));
  40. };
  41. return WithState;
  42. }(_react.Component);
  43. if (process.env.NODE_ENV !== 'production') {
  44. return (0, _setDisplayName.default)((0, _wrapDisplayName.default)(BaseComponent, 'withState'))(WithState);
  45. }
  46. return WithState;
  47. };
  48. };
  49. var _default = withState;
  50. exports.default = _default;