Match-id-0bab5f65150428dd661a5ee7c0828458fcf1e6d6
This commit is contained in:
parent
d73ab8fcb0
commit
978e25be73
|
@ -2,6 +2,7 @@ import { travelVNodeTree } from '../renderer/vnode/VNodeUtils';
|
||||||
import { Hook, Reducer, Ref } from '../renderer/hooks/HookType';
|
import { Hook, Reducer, Ref } from '../renderer/hooks/HookType';
|
||||||
import { VNode } from '../renderer/vnode/VNode';
|
import { VNode } from '../renderer/vnode/VNode';
|
||||||
import { launchUpdateFromVNode } from '../renderer/TreeBuilder';
|
import { launchUpdateFromVNode } from '../renderer/TreeBuilder';
|
||||||
|
import { DomComponent } from '../renderer/vnode/VNodeTags';
|
||||||
|
|
||||||
export const helper = {
|
export const helper = {
|
||||||
travelVNodeTree: (rootVNode, fun) => {
|
travelVNodeTree: (rootVNode, fun) => {
|
||||||
|
@ -41,6 +42,36 @@ export const helper = {
|
||||||
console.error('Target vNode is not a hook vNode: ', vNode);
|
console.error('Target vNode is not a hook vNode: ', vNode);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
getComponentInfo: (vNode: VNode) => {
|
||||||
|
const { props, state, hooks } = vNode;
|
||||||
|
const info:any = {};
|
||||||
|
if (props && Object.keys(props).length !== 0) {
|
||||||
|
info['Props'] = props;
|
||||||
|
}
|
||||||
|
if (state && Object.keys(state).length !== 0) {
|
||||||
|
info['State'] = state;
|
||||||
|
}
|
||||||
|
if (hooks && hooks.length !== 0) {
|
||||||
|
const logHookInfo: any[] = [];
|
||||||
|
hooks.forEach((hook) =>{
|
||||||
|
const state = hook.state as Reducer<any, any>;
|
||||||
|
if (state.trigger && state.isUseState) {
|
||||||
|
logHookInfo.push(state.stateValue);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
info['Hooks'] = logHookInfo;
|
||||||
|
}
|
||||||
|
travelVNodeTree(vNode, (node: VNode) => {
|
||||||
|
if (node.tag === DomComponent) {
|
||||||
|
// 找到组件的第一个dom元素,返回它所在父节点的全部子节点
|
||||||
|
const dom = node.realNode;
|
||||||
|
info['Nodes'] = dom?.parentNode?.childNodes;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}, null, vNode, null);
|
||||||
|
return info;
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
function injectUpdater() {
|
function injectUpdater() {
|
||||||
|
|
Loading…
Reference in New Issue