UNPKG

react-redux-setstate

Version:

A HOC that overrides the React setState API to use Redux for storing component state.

46 lines (34 loc) 1.41 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.SET_STATE = undefined; var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); var _typeof2 = require('babel-runtime/helpers/typeof'); var _typeof3 = _interopRequireDefault(_typeof2); exports.setState = setState; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var SET_STATE = exports.SET_STATE = '@@react-redux-setstate/UPDATE_COMPONENT_STATE'; function setState(updater, componentKey, element) { var initializing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; var currentState = element.state || {}; var newState = void 0; if ((typeof updater === 'undefined' ? 'undefined' : (0, _typeof3.default)(updater)) === 'object' && updater !== null) { newState = (0, _extends3.default)({}, currentState, updater); } else if (typeof updater === 'function') { // todo: defer until all previous queueds are done -- will require a subscriber newState = updater(currentState, element.props); } else { throw new Error('setState must be passed an object or function'); } return { type: SET_STATE, payload: { componentKey: componentKey, newState: newState, initializing: initializing } }; } //# sourceMappingURL=actions.js.map