@umijs/renderer-react 4.0.33 → 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 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
- React.useLayoutEffect(function () {
34
+ useLayoutEffect(function () {
35
35
  return history.listen(setState);
36
36
  }, [history]);
37
- React.useLayoutEffect(function () {
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@umijs/renderer-react",
3
- "version": "4.0.33",
3
+ "version": "4.0.34",
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",