@umijs/renderer-react 4.0.32 → 4.0.34
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 +4 -0
- package/dist/browser.js +10 -7
- package/package.json +1 -1
package/dist/browser.d.ts
CHANGED
|
@@ -63,6 +63,10 @@ export declare type RenderClientOpts = {
|
|
|
63
63
|
* 此模式下,路由组件的 props 会包含 location、match、history 和 params 属性,和 react-router 5 的保持一致。
|
|
64
64
|
*/
|
|
65
65
|
reactRouter5Compat?: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* 应用渲染完成的回调函数
|
|
68
|
+
*/
|
|
69
|
+
callback?: () => void;
|
|
66
70
|
};
|
|
67
71
|
/**
|
|
68
72
|
* 执行 react dom 的 render 方法
|
package/dist/browser.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
-
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
3
|
-
import _createForOfIteratorHelper from "@babel/runtime/helpers/createForOfIteratorHelper";
|
|
4
|
-
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
5
|
-
import React, { useCallback, useEffect, useState } from 'react'; // compatible with < react@18 in @umijs/preset-umi/src/features/react
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
3
|
+
import _createForOfIteratorHelper from "@babel/runtime/helpers/esm/createForOfIteratorHelper";
|
|
4
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
5
|
+
import React, { useCallback, useEffect, useLayoutEffect, useState } from 'react'; // compatible with < react@18 in @umijs/preset-umi/src/features/react
|
|
6
6
|
|
|
7
7
|
import { HelmetProvider } from 'react-helmet-async';
|
|
8
8
|
import ReactDOM from 'react-dom/client';
|
|
@@ -31,10 +31,10 @@ function BrowserRoutes(props) {
|
|
|
31
31
|
state = _React$useState2[0],
|
|
32
32
|
setState = _React$useState2[1];
|
|
33
33
|
|
|
34
|
-
|
|
34
|
+
useLayoutEffect(function () {
|
|
35
35
|
return history.listen(setState);
|
|
36
36
|
}, [history]);
|
|
37
|
-
|
|
37
|
+
useLayoutEffect(function () {
|
|
38
38
|
function onRouteChange(opts) {
|
|
39
39
|
props.pluginManager.applyPlugins({
|
|
40
40
|
key: 'onRouteChange',
|
|
@@ -234,6 +234,9 @@ var getBrowser = function getBrowser(opts, routesElement) {
|
|
|
234
234
|
handleRouteChange(e.location.pathname);
|
|
235
235
|
});
|
|
236
236
|
}, []);
|
|
237
|
+
useLayoutEffect(function () {
|
|
238
|
+
if (typeof opts.callback === 'function') opts.callback();
|
|
239
|
+
}, []);
|
|
237
240
|
return /*#__PURE__*/React.createElement(HelmetProvider, {
|
|
238
241
|
context: {}
|
|
239
242
|
}, /*#__PURE__*/React.createElement(AppContext.Provider, {
|
package/package.json
CHANGED