reduxen-react-dom
Version:
React bindings for reduxen, a redux-first router
65 lines (50 loc) • 1.45 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Consumer = undefined;
var _react = require("react");
var _react2 = _interopRequireDefault(_react);
var _propTypes = require("prop-types");
var _propTypes2 = _interopRequireDefault(_propTypes);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var context = _react2.default.createContext({
router: {
path: "",
query: {},
hash: ""
},
dispatch: function dispatch() {
return null;
},
prefix: "ROUTER__"
});
var Provider = context.Provider;
// Consumer
var Consumer = exports.Consumer = context.Consumer;
// Provider
var RouterProvider = function RouterProvider(_ref) {
var router = _ref.router,
dispatch = _ref.dispatch,
prefix = _ref.prefix,
children = _ref.children;
return _react2.default.createElement(
Provider,
{ value: { router: router, dispatch: dispatch, prefix: prefix } },
children
);
};
RouterProvider.propTypes = {
children: _propTypes2.default.node,
router: _propTypes2.default.shape({
path: _propTypes2.default.string.isRequired,
query: _propTypes2.default.object.isRequired,
hash: _propTypes2.default.string.isRequired
}).isRequired,
dispatch: _propTypes2.default.func.isRequired,
prefix: _propTypes2.default.string
};
RouterProvider.defaultProps = {
prefix: "ROUTER__"
};
exports.default = RouterProvider;