@umijs/renderer-react 4.0.0-canary.20220720.1 → 4.0.0-canary.20220727.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/browser.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  import { History } from 'history';
2
2
  import React from 'react';
3
+ import ReactDOM from 'react-dom/client';
3
4
  import { IRouteComponents, IRoutesById } from './types';
5
+ export declare function __getRoot(): ReactDOM.Root | null;
4
6
  export declare function Routes(): React.ReactElement<any, string | React.JSXElementConstructor<any>> | null;
5
7
  export declare function renderClient(opts: {
6
8
  publicPath?: string;
package/dist/browser.js CHANGED
@@ -8,6 +8,11 @@ import { matchRoutes, Router, useRoutes } from 'react-router-dom';
8
8
  import { AppContext, useAppData } from "./appContext";
9
9
  import { createClientRoutes } from "./routes";
10
10
  import { jsx as _jsx } from "react/jsx-runtime";
11
+ var root = null; // react 18 some scenarios need unmount such as micro app
12
+
13
+ export function __getRoot() {
14
+ return root;
15
+ }
11
16
 
12
17
  function BrowserRoutes(props) {
13
18
  var history = props.history;
@@ -114,7 +119,7 @@ export function renderClient(opts) {
114
119
  return route.route.id;
115
120
  })) || []).filter(Boolean);
116
121
  matchedRouteIds.forEach(function (id) {
117
- var _opts$routes$id;
122
+ var _opts$routes$id, _opts$routes$id2;
118
123
 
119
124
  // preload
120
125
  // @ts-ignore
@@ -155,9 +160,10 @@ export function renderClient(opts) {
155
160
  });
156
161
  }
157
162
  } // server loader
163
+ // use ?. since routes patched with patchClientRoutes is not exists in opts.routes
158
164
 
159
165
 
160
- if (!isFirst && opts.routes[id].hasServerLoader) {
166
+ if (!isFirst && (_opts$routes$id = opts.routes[id]) !== null && _opts$routes$id !== void 0 && _opts$routes$id.hasServerLoader) {
161
167
  fetch('/__serverLoader?route=' + id).then(function (d) {
162
168
  return d.json();
163
169
  }).then(function (data) {
@@ -173,7 +179,7 @@ export function renderClient(opts) {
173
179
  // onPatchClientRoutes 添加的 route 在 opts.routes 里是不存在的
174
180
 
175
181
 
176
- var clientLoader = (_opts$routes$id = opts.routes[id]) === null || _opts$routes$id === void 0 ? void 0 : _opts$routes$id.clientLoader;
182
+ var clientLoader = (_opts$routes$id2 = opts.routes[id]) === null || _opts$routes$id2 === void 0 ? void 0 : _opts$routes$id2.clientLoader;
177
183
 
178
184
  if (clientLoader && !clientLoaderData[id]) {
179
185
  clientLoader().then(function (data) {
@@ -210,7 +216,8 @@ export function renderClient(opts) {
210
216
  ReactDOM.hydrateRoot(rootElement, /*#__PURE__*/_jsx(Browser, {}));
211
217
  } else {
212
218
  if (ReactDOM.createRoot) {
213
- ReactDOM.createRoot(rootElement).render( /*#__PURE__*/_jsx(Browser, {}));
219
+ root = ReactDOM.createRoot(rootElement);
220
+ root.render( /*#__PURE__*/_jsx(Browser, {}));
214
221
  } else {
215
222
  // @ts-ignore
216
223
  ReactDOM.render( /*#__PURE__*/_jsx(Browser, {}), rootElement);
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export { createBrowserHistory, createHashHistory, createMemoryHistory, type History, } from 'history';
2
2
  export { createSearchParams, matchPath, matchRoutes, Navigate, NavLink, Outlet, resolvePath, useLocation, useMatch, useNavigate, useOutlet, useOutletContext, useParams, useResolvedPath, useRoutes, useSearchParams, } from 'react-router-dom';
3
3
  export { useAppData, useClientLoaderData, useServerLoaderData, } from './appContext';
4
- export { renderClient } from './browser';
4
+ export { renderClient, __getRoot } from './browser';
5
5
  export { LinkWithPrefetch as Link } from './link';
6
6
  export { useRouteData } from './routeContext';
7
7
  export { __useFetcher } from './useFetcher';
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  export { createBrowserHistory, createHashHistory, createMemoryHistory } from 'history';
2
2
  export { createSearchParams, matchPath, matchRoutes, Navigate, NavLink, Outlet, resolvePath, useLocation, useMatch, useNavigate, useOutlet, useOutletContext, useParams, useResolvedPath, useRoutes, useSearchParams } from 'react-router-dom';
3
3
  export { useAppData, useClientLoaderData, useServerLoaderData } from "./appContext";
4
- export { renderClient } from "./browser";
4
+ export { renderClient, __getRoot } from "./browser";
5
5
  export { LinkWithPrefetch as Link } from "./link";
6
6
  export { useRouteData } from "./routeContext";
7
7
  export { __useFetcher } from "./useFetcher";
package/dist/routes.js CHANGED
@@ -43,7 +43,9 @@ function NavigateWithParams(props) {
43
43
  to: generatePath(props.to, params)
44
44
  });
45
45
 
46
- return /*#__PURE__*/_jsx(Navigate, _objectSpread({}, propsWithParams));
46
+ return /*#__PURE__*/_jsx(Navigate, _objectSpread({
47
+ replace: true
48
+ }, propsWithParams));
47
49
  }
48
50
 
49
51
  function createClientRoute(opts) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@umijs/renderer-react",
3
- "version": "4.0.0-canary.20220720.1",
3
+ "version": "4.0.0-canary.20220727.1",
4
4
  "description": "@umijs/renderer-react",
5
5
  "homepage": "https://github.com/umijs/umi/tree/master/packages/renderer-react#readme",
6
6
  "bugs": "https://github.com/umijs/umi/issues",
@@ -16,13 +16,13 @@
16
16
  "dist"
17
17
  ],
18
18
  "scripts": {
19
- "build": "pnpm father build",
19
+ "build": "umi-scripts father build",
20
20
  "build:deps": "umi-scripts bundleDeps",
21
- "dev": "pnpm father dev",
21
+ "dev": "umi-scripts father dev",
22
22
  "test": "umi-scripts jest-turbo"
23
23
  },
24
24
  "dependencies": {
25
- "@babel/runtime": "7.17.9",
25
+ "@babel/runtime": "7.18.9",
26
26
  "@loadable/component": "5.15.2",
27
27
  "history": "5.3.0",
28
28
  "react-router-dom": "6.3.0"