ppx
Version:
ppx flux redux react
50 lines (36 loc) • 2.22 kB
JavaScript
;
exports.__esModule = true;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _store = require('./store');
var _store2 = _interopRequireDefault(_store);
var _provider = require('./provider');
var _provider2 = _interopRequireDefault(_provider);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } /**
* Created by tianwu on 2017/3/17.
*/
exports.default = function (models) {
var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
return function (View) {
return function (props, context) {
var children = props.children,
other = _objectWithoutProperties(props, ['children']);
// 这个是否需要,无法传递下去
if (View) {
View.prototype.dispatch = _store2.default.dispatch.bind(View);
}
return _react2.default.createElement(
_provider2.default,
_extends({ models: models, force: force }, other),
_react2.default.createElement(
View,
null,
children
)
);
};
};
};
module.exports = exports['default'];