react-native-fxview 1.0.3-beta2 → 1.0.3-beta3
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/FXView.js +6 -6
- package/FXView.tsx +6 -12
- package/FXViewManager.js +0 -1
- package/FXViewManager.ts +0 -1
- package/package.json +1 -1
- package/types.ts +1 -1
package/FXView.js
CHANGED
|
@@ -49,7 +49,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
49
49
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
50
|
const react_1 = __importStar(require("react"));
|
|
51
51
|
const react_native_1 = require("react-native");
|
|
52
|
-
const FXViewManager_1 = require("./FXViewManager");
|
|
52
|
+
const FXViewManager_1 = __importDefault(require("./FXViewManager"));
|
|
53
53
|
const FXLogger_1 = __importDefault(require("./logger/FXLogger"));
|
|
54
54
|
class FXView extends react_1.Component {
|
|
55
55
|
constructor(props) {
|
|
@@ -58,7 +58,7 @@ class FXView extends react_1.Component {
|
|
|
58
58
|
components: [],
|
|
59
59
|
};
|
|
60
60
|
this.updateComponents = () => {
|
|
61
|
-
const components = FXViewManager_1.
|
|
61
|
+
const components = FXViewManager_1.default.getComponents(this.viewId);
|
|
62
62
|
this.setState({ components: components });
|
|
63
63
|
};
|
|
64
64
|
// 使用 fxViewId,如果没有则生成一个唯一 ID
|
|
@@ -69,7 +69,7 @@ class FXView extends react_1.Component {
|
|
|
69
69
|
componentDidMount() {
|
|
70
70
|
FXLogger_1.default.log("FXView", `mounted with viewId: ${this.viewId}`);
|
|
71
71
|
// 注册到视图管理器
|
|
72
|
-
FXViewManager_1.
|
|
72
|
+
FXViewManager_1.default.registerView(this.viewId, this.updateComponents);
|
|
73
73
|
// 初始更新
|
|
74
74
|
this.updateComponents();
|
|
75
75
|
}
|
|
@@ -79,16 +79,16 @@ class FXView extends react_1.Component {
|
|
|
79
79
|
if (newViewId !== this.viewId) {
|
|
80
80
|
// ID 变化时重新注册
|
|
81
81
|
FXLogger_1.default.log("FXView", `updated changed: ${this.viewId}`);
|
|
82
|
-
FXViewManager_1.
|
|
82
|
+
FXViewManager_1.default.unregisterView(this.viewId);
|
|
83
83
|
this.viewId = newViewId;
|
|
84
|
-
FXViewManager_1.
|
|
84
|
+
FXViewManager_1.default.registerView(this.viewId, this.updateComponents);
|
|
85
85
|
this.updateComponents();
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
componentWillUnmount() {
|
|
89
89
|
FXLogger_1.default.log("FXView", `unmounted: ${this.viewId}`);
|
|
90
90
|
// 注销视图(会自动清理所有组件和回调)
|
|
91
|
-
FXViewManager_1.
|
|
91
|
+
FXViewManager_1.default.unregisterView(this.viewId);
|
|
92
92
|
}
|
|
93
93
|
render() {
|
|
94
94
|
const { children } = this.props;
|
package/FXView.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { Component } from "react";
|
|
2
2
|
import { View, ViewProps } from "react-native";
|
|
3
3
|
import { FXComponentItem } from "./types";
|
|
4
|
-
import
|
|
4
|
+
import FXManager from "./FXViewManager";
|
|
5
5
|
import logger from "./logger/FXLogger";
|
|
6
6
|
|
|
7
7
|
interface FXViewProps extends ViewProps {
|
|
@@ -30,10 +30,7 @@ export default class FXView extends Component<FXViewProps, FXViewState> {
|
|
|
30
30
|
componentDidMount() {
|
|
31
31
|
logger.log("FXView", `mounted with viewId: ${this.viewId}`);
|
|
32
32
|
// 注册到视图管理器
|
|
33
|
-
|
|
34
|
-
this.viewId,
|
|
35
|
-
this.updateComponents,
|
|
36
|
-
);
|
|
33
|
+
FXManager.registerView(this.viewId, this.updateComponents);
|
|
37
34
|
// 初始更新
|
|
38
35
|
this.updateComponents();
|
|
39
36
|
}
|
|
@@ -45,13 +42,10 @@ export default class FXView extends Component<FXViewProps, FXViewState> {
|
|
|
45
42
|
if (newViewId !== this.viewId) {
|
|
46
43
|
// ID 变化时重新注册
|
|
47
44
|
logger.log("FXView", `updated changed: ${this.viewId}`);
|
|
48
|
-
|
|
45
|
+
FXManager.unregisterView(this.viewId);
|
|
49
46
|
this.viewId = newViewId;
|
|
50
47
|
|
|
51
|
-
|
|
52
|
-
this.viewId,
|
|
53
|
-
this.updateComponents,
|
|
54
|
-
);
|
|
48
|
+
FXManager.registerView(this.viewId, this.updateComponents);
|
|
55
49
|
this.updateComponents();
|
|
56
50
|
}
|
|
57
51
|
}
|
|
@@ -59,11 +53,11 @@ export default class FXView extends Component<FXViewProps, FXViewState> {
|
|
|
59
53
|
componentWillUnmount() {
|
|
60
54
|
logger.log("FXView", `unmounted: ${this.viewId}`);
|
|
61
55
|
// 注销视图(会自动清理所有组件和回调)
|
|
62
|
-
|
|
56
|
+
FXManager.unregisterView(this.viewId);
|
|
63
57
|
}
|
|
64
58
|
|
|
65
59
|
updateComponents = () => {
|
|
66
|
-
const components =
|
|
60
|
+
const components = FXManager.getComponents(this.viewId);
|
|
67
61
|
this.setState({ components: components });
|
|
68
62
|
};
|
|
69
63
|
|
package/FXViewManager.js
CHANGED
|
@@ -349,7 +349,6 @@ class FXViewManager {
|
|
|
349
349
|
FXLogger_1.default.warn("FXViewManager", `FXViewController ${finalFXViewId} not registered, creating a temporary one`);
|
|
350
350
|
viewController = new FXViewController_1.FXViewController(finalFXViewId);
|
|
351
351
|
this.viewControllerMap.set(finalFXViewId, viewController);
|
|
352
|
-
this.fxViewIdQueue.enqueue(finalFXViewId);
|
|
353
352
|
}
|
|
354
353
|
return viewController;
|
|
355
354
|
}
|
package/FXViewManager.ts
CHANGED
package/package.json
CHANGED
package/types.ts
CHANGED