@alicloud/alfa-react 1.5.1-alpha.4 → 1.5.1-alpha.5

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.
@@ -78,7 +78,8 @@ export default function createApplication(loader) {
78
78
  dynamicConfig = props.dynamicConfig,
79
79
  noCache = props.noCache,
80
80
  syncHistory = props.syncHistory,
81
- basename = props.basename;
81
+ basename = props.basename,
82
+ onSyncHistory = props.onSyncHistory;
82
83
  var handleExternalLink = customProps.handleExternalLink;
83
84
  var _useState = useState(null),
84
85
  _useState2 = _slicedToArray(_useState, 2),
@@ -262,6 +263,7 @@ export default function createApplication(loader) {
262
263
  var nextPath = addBasename((_url === null || _url === void 0 ? void 0 : _url.toString()) || '', $basename.current);
263
264
  if ("".concat(nextPath) !== peelPath(window.location)) {
264
265
  window.history.pushState(data, unused, nextPath);
266
+ onSyncHistory && onSyncHistory('push', nextPath, data);
265
267
  }
266
268
  originalReplaceState(data, unused, _url);
267
269
  } else {
@@ -272,6 +274,7 @@ export default function createApplication(loader) {
272
274
  var nextPath = addBasename((_url === null || _url === void 0 ? void 0 : _url.toString()) || '', $basename.current);
273
275
  if ($syncHistory.current) {
274
276
  window.history.replaceState(data, unused, nextPath);
277
+ onSyncHistory && onSyncHistory('replace', nextPath, data);
275
278
  }
276
279
  originalReplaceState(data, unused, _url);
277
280
  };
package/es/version.js CHANGED
@@ -1 +1 @@
1
- export var version = '1.5.1-alpha.4';
1
+ export var version = '1.5.1-alpha.5';
@@ -88,7 +88,8 @@ function createApplication(loader) {
88
88
  dynamicConfig = props.dynamicConfig,
89
89
  noCache = props.noCache,
90
90
  syncHistory = props.syncHistory,
91
- basename = props.basename;
91
+ basename = props.basename,
92
+ onSyncHistory = props.onSyncHistory;
92
93
  var handleExternalLink = customProps.handleExternalLink;
93
94
  var _useState = (0, _react.useState)(null),
94
95
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -272,6 +273,7 @@ function createApplication(loader) {
272
273
  var nextPath = addBasename((_url === null || _url === void 0 ? void 0 : _url.toString()) || '', $basename.current);
273
274
  if ("".concat(nextPath) !== peelPath(window.location)) {
274
275
  window.history.pushState(data, unused, nextPath);
276
+ onSyncHistory && onSyncHistory('push', nextPath, data);
275
277
  }
276
278
  originalReplaceState(data, unused, _url);
277
279
  } else {
@@ -282,6 +284,7 @@ function createApplication(loader) {
282
284
  var nextPath = addBasename((_url === null || _url === void 0 ? void 0 : _url.toString()) || '', $basename.current);
283
285
  if ($syncHistory.current) {
284
286
  window.history.replaceState(data, unused, nextPath);
287
+ onSyncHistory && onSyncHistory('replace', nextPath, data);
285
288
  }
286
289
  originalReplaceState(data, unused, _url);
287
290
  };
package/lib/version.js CHANGED
@@ -4,5 +4,5 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.version = void 0;
7
- var version = '1.5.1-alpha.4';
7
+ var version = '1.5.1-alpha.5';
8
8
  exports.version = version;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alicloud/alfa-react",
3
- "version": "1.5.1-alpha.4",
3
+ "version": "1.5.1-alpha.5",
4
4
  "description": "Alfa Framework (React Version)",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -15,6 +15,10 @@ interface IProps {
15
15
  * 是否开启路由自动同步,需配合 basename 使用
16
16
  */
17
17
  syncHistory?: boolean;
18
+ /**
19
+ * 同步子应用路由的回调函数
20
+ */
21
+ onSyncHistory?: (type: 'replace' | 'push', pathname: string, state: any) => void;
18
22
  /**
19
23
  * 子应用路由前缀
20
24
  */
@@ -11,6 +11,7 @@ interface IProps<C = any> extends AlfaFactoryOption {
11
11
  handleExternalLink?: (href: string) => void;
12
12
  };
13
13
  syncHistory?: boolean;
14
+ onSyncHistory?: (type: 'replace' | 'push', path: string, data: any) => void;
14
15
  basename?: string;
15
16
  }
16
17
  /**
@@ -1 +1 @@
1
- export declare const version = "1.5.1-alpha.4";
1
+ export declare const version = "1.5.1-alpha.5";