@umijs/renderer-react 4.0.86 → 4.0.88
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/appContext.d.ts +3 -2
- package/dist/browser.js +12 -1
- package/dist/server.d.ts +6 -3
- package/dist/server.js +18 -15
- package/package.json +2 -2
package/dist/appContext.d.ts
CHANGED
|
@@ -16,8 +16,9 @@ export declare const AppContext: React.Context<IAppContextType>;
|
|
|
16
16
|
export declare function useAppData(): IAppContextType;
|
|
17
17
|
export declare function useSelectedRoutes(): import("react-router-dom").RouteMatch<string>[];
|
|
18
18
|
export declare function useRouteProps<T extends Record<string, any> = any>(): T;
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
declare type ServerLoaderFunc = (...args: any[]) => Promise<any> | any;
|
|
20
|
+
export declare function useServerLoaderData<T extends ServerLoaderFunc = any>(): {
|
|
21
|
+
data: Awaited<ReturnType<T>>;
|
|
21
22
|
};
|
|
22
23
|
export declare function useClientLoaderData(): {
|
|
23
24
|
data: any;
|
package/dist/browser.js
CHANGED
|
@@ -182,7 +182,15 @@ var getBrowser = function getBrowser(opts, routesElement) {
|
|
|
182
182
|
// server loader
|
|
183
183
|
// use ?. since routes patched with patchClientRoutes is not exists in opts.routes
|
|
184
184
|
if (!isFirst && (_opts$routes$id = opts.routes[id]) !== null && _opts$routes$id !== void 0 && _opts$routes$id.hasServerLoader) {
|
|
185
|
-
|
|
185
|
+
var query = new URLSearchParams({
|
|
186
|
+
route: id,
|
|
187
|
+
url: window.location.href
|
|
188
|
+
}).toString();
|
|
189
|
+
// 在有basename的情况下__serverLoader的请求路径需要加上basename
|
|
190
|
+
var url = "".concat(withEndSlash(basename), "__serverLoader?").concat(query);
|
|
191
|
+
fetch(url, {
|
|
192
|
+
credentials: 'include'
|
|
193
|
+
}).then(function (d) {
|
|
186
194
|
return d.json();
|
|
187
195
|
}).then(function (data) {
|
|
188
196
|
// setServerLoaderData when startTransition because if ssr is enabled,
|
|
@@ -255,4 +263,7 @@ export function renderClient(opts) {
|
|
|
255
263
|
}
|
|
256
264
|
// @ts-ignore
|
|
257
265
|
ReactDOM.render( /*#__PURE__*/React.createElement(Browser, null), rootElement);
|
|
266
|
+
}
|
|
267
|
+
function withEndSlash(str) {
|
|
268
|
+
return str.endsWith('/') ? str : "".concat(str, "/");
|
|
258
269
|
}
|
package/dist/server.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import type { IMetadata } from '@umijs/server/dist/types';
|
|
1
2
|
import { IRouteComponents, IRoutesById } from './types';
|
|
2
|
-
|
|
3
|
+
interface IHtmlProps {
|
|
3
4
|
routes: IRoutesById;
|
|
4
5
|
routeComponents: IRouteComponents;
|
|
5
6
|
pluginManager: any;
|
|
@@ -8,5 +9,7 @@ export declare function getClientRootComponent(opts: {
|
|
|
8
9
|
[routeKey: string]: any;
|
|
9
10
|
};
|
|
10
11
|
manifest: any;
|
|
11
|
-
|
|
12
|
-
}
|
|
12
|
+
metadata?: IMetadata;
|
|
13
|
+
}
|
|
14
|
+
export declare function getClientRootComponent(opts: IHtmlProps): Promise<JSX.Element>;
|
|
15
|
+
export {};
|
package/dist/server.js
CHANGED
|
@@ -48,19 +48,8 @@ function _getClientRootComponent() {
|
|
|
48
48
|
serverLoaderData: opts.loaderData
|
|
49
49
|
}
|
|
50
50
|
}, rootContainer);
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
break;
|
|
54
|
-
}
|
|
55
|
-
return _context.abrupt("return", /*#__PURE__*/React.createElement("div", {
|
|
56
|
-
id: "root"
|
|
57
|
-
}, app));
|
|
58
|
-
case 8:
|
|
59
|
-
return _context.abrupt("return", /*#__PURE__*/React.createElement(Html, {
|
|
60
|
-
loaderData: opts.loaderData,
|
|
61
|
-
manifest: opts.manifest
|
|
62
|
-
}, app));
|
|
63
|
-
case 9:
|
|
51
|
+
return _context.abrupt("return", /*#__PURE__*/React.createElement(Html, opts, app));
|
|
52
|
+
case 7:
|
|
64
53
|
case "end":
|
|
65
54
|
return _context.stop();
|
|
66
55
|
}
|
|
@@ -69,19 +58,33 @@ function _getClientRootComponent() {
|
|
|
69
58
|
return _getClientRootComponent.apply(this, arguments);
|
|
70
59
|
}
|
|
71
60
|
function Html(_ref) {
|
|
61
|
+
var _metadata$keywords, _metadata$metas;
|
|
72
62
|
var children = _ref.children,
|
|
73
63
|
loaderData = _ref.loaderData,
|
|
74
|
-
manifest = _ref.manifest
|
|
64
|
+
manifest = _ref.manifest,
|
|
65
|
+
metadata = _ref.metadata;
|
|
75
66
|
// TODO: 处理 head 标签,比如 favicon.ico 的一致性
|
|
76
67
|
// TODO: root 支持配置
|
|
77
68
|
|
|
78
69
|
return /*#__PURE__*/React.createElement("html", {
|
|
79
|
-
lang:
|
|
70
|
+
lang: (metadata === null || metadata === void 0 ? void 0 : metadata.lang) || 'en'
|
|
80
71
|
}, /*#__PURE__*/React.createElement("head", null, /*#__PURE__*/React.createElement("meta", {
|
|
81
72
|
charSet: "utf-8"
|
|
82
73
|
}), /*#__PURE__*/React.createElement("meta", {
|
|
83
74
|
name: "viewport",
|
|
84
75
|
content: "width=device-width, initial-scale=1"
|
|
76
|
+
}), (metadata === null || metadata === void 0 ? void 0 : metadata.title) && /*#__PURE__*/React.createElement("title", null, metadata.title), (metadata === null || metadata === void 0 ? void 0 : metadata.description) && /*#__PURE__*/React.createElement("meta", {
|
|
77
|
+
name: "description",
|
|
78
|
+
content: metadata.description
|
|
79
|
+
}), (metadata === null || metadata === void 0 ? void 0 : (_metadata$keywords = metadata.keywords) === null || _metadata$keywords === void 0 ? void 0 : _metadata$keywords.length) && /*#__PURE__*/React.createElement("meta", {
|
|
80
|
+
name: "keywords",
|
|
81
|
+
content: metadata.keywords.join(',')
|
|
82
|
+
}), metadata === null || metadata === void 0 ? void 0 : (_metadata$metas = metadata.metas) === null || _metadata$metas === void 0 ? void 0 : _metadata$metas.map(function (em) {
|
|
83
|
+
return /*#__PURE__*/React.createElement("meta", {
|
|
84
|
+
key: em.name,
|
|
85
|
+
name: em.name,
|
|
86
|
+
content: em.content
|
|
87
|
+
});
|
|
85
88
|
}), manifest.assets['umi.css'] && /*#__PURE__*/React.createElement("link", {
|
|
86
89
|
rel: "stylesheet",
|
|
87
90
|
href: manifest.assets['umi.css']
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@umijs/renderer-react",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.88",
|
|
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,7 +16,7 @@
|
|
|
16
16
|
"dist"
|
|
17
17
|
],
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@babel/runtime": "7.
|
|
19
|
+
"@babel/runtime": "7.23.2",
|
|
20
20
|
"@loadable/component": "5.15.2",
|
|
21
21
|
"history": "5.3.0",
|
|
22
22
|
"react-helmet-async": "1.3.0",
|