Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = void 0;

var _exotic = _interopRequireDefault(require("exotic"));

var _react = require("react");

var _renderProps = _interopRequireDefault(require("../utils/renderProps"));

function _interopRequireDefault(obj) {
  return obj && obj.__esModule ? obj : {
    default: obj
  };
}

class State extends _react.Component {
  constructor(...args) {
    super(...args);
    this.state = Object.assign({}, this.props.initial);

    this._setState = (updater, onStateChange = _exotic.default) => {
      this.setState(updater, () => {
        this.props.onChange(this.state);
        onStateChange();
      });
    };
  }

  render() {
    return (0, _renderProps.default)(this.props, {
      state: this.state,
      setState: this._setState
    });
  }

}

State.defaultProps = {
  initial: {},
  onChange: _exotic.default
};
var _default = State;
exports.default = _default;