rmux-router
Version:
7 lines (6 loc) • 1.03 kB
JavaScript
/*!
* rmux-router.js v0.0.1-alpha.0
* (c) 2018-2019 空鱼
* Released under the MIT License.
*/
import*as r from"connected-react-router";export{r as routerRedux};import{Route as e,Router as o}from"react-router-dom";export*from"react-router-dom";import t from"querystring";import a,{lazy as n,Suspense as c}from"react";import{createBrowserHistory as i}from"history";export*from"history";const m=new Map,s=({loader:r,loadding:e,...o})=>{const t=n(r),i=e||m.get("loading")||"loading...";return a.createElement(c,{fallback:i},a.createElement(t,Object.assign({},o)))},l=r=>{const{loader:o,loading:n}=r;return a.createElement(e,Object.assign({},r,{component:r=>{const e=t.parse(window.location.search);return a.createElement(s,{routeProps:r,loadding:n,loader:o,location:{...r.location,query:e},routerParams:r.match.params})}}))},d=r=>{const{history:e=i(),children:t,loading:n}=r;return m.set("loading",n),a.createElement(o,{history:e},t)};export{l as LazyRoute,s as LoadableComponent,d as RouterProvider,m as globalRouteConfig};