From 6f977fce7af360c78c56de0bd0fd9e57f09d5c54 Mon Sep 17 00:00:00 2001 From: * <8> Date: Thu, 17 Feb 2022 14:31:45 +0800 Subject: [PATCH] Match-id-c9903f0cf11854c6f9df9974b95a3a1b2c534371 --- libs/horizon/src/renderer/ContextSaver.ts | 27 ++++++++++++++--------- libs/horizon/src/renderer/vnode/VNode.ts | 7 ------ 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/libs/horizon/src/renderer/ContextSaver.ts b/libs/horizon/src/renderer/ContextSaver.ts index d092dd76..05847b08 100644 --- a/libs/horizon/src/renderer/ContextSaver.ts +++ b/libs/horizon/src/renderer/ContextSaver.ts @@ -29,17 +29,24 @@ let ctxOldContext: Object = {}; let ctxOldChange: Boolean = false; let ctxOldPreviousContext: Object = {}; +function setContext(vNode: VNode, contextName, value) { + vNode.contexts[contextName] = value; +} +function getContext(vNode: VNode, contextName) { + return vNode.contexts[contextName]; +} + // capture阶段设置 function setNamespaceCtx(vNode: VNode, dom?: Container) { const nextContext = getNSCtx(ctxNamespace, vNode.type, dom); - vNode.setContext(CTX_NAMESPACE, ctxNamespace); + setContext(vNode, CTX_NAMESPACE, ctxNamespace); ctxNamespace = nextContext; } // bubble阶段恢复 function resetNamespaceCtx(vNode: VNode) { - ctxNamespace = vNode.getContext(CTX_NAMESPACE); + ctxNamespace = getContext(vNode, CTX_NAMESPACE); } function getNamespaceCtx(): string { @@ -49,14 +56,14 @@ function getNamespaceCtx(): string { function setContextCtx(providerVNode: VNode, nextValue: T) { const context: ContextType = providerVNode.type._context; - providerVNode.setContext(CTX_CONTEXT, context.value); + setContext(providerVNode, CTX_CONTEXT, context.value); context.value = nextValue; } function resetContextCtx(providerVNode: VNode) { const context: ContextType = providerVNode.type._context; - context.value = providerVNode.getContext(CTX_CONTEXT); + context.value = getContext(providerVNode, CTX_CONTEXT); } // 在局部更新时,恢复父节点的context @@ -74,11 +81,11 @@ function recoverParentsContextCtx(vNode: VNode) { // ctxOldContext是 旧context提供者的context function setVNodeOldContext(providerVNode: VNode, context: Object) { - providerVNode.setContext(CTX_OLD_CONTEXT, context); + setContext(providerVNode, CTX_OLD_CONTEXT, context); } function getVNodeOldContext(vNode: VNode) { - return vNode.getContext(CTX_OLD_CONTEXT); + return getContext(vNode, CTX_OLD_CONTEXT); } function setOldContextCtx(providerVNode: VNode, context: Object) { @@ -95,11 +102,11 @@ function resetOldContextCtx(vNode: VNode) { } function setVNodeOldPreviousContext(providerVNode: VNode, context: Object) { - providerVNode.setContext(CTX_OLD_PREVIOUS_CONTEXT, context); + setContext(providerVNode, CTX_OLD_PREVIOUS_CONTEXT, context); } function getVNodeOldPreviousContext(vNode: VNode) { - return vNode.getContext(CTX_OLD_PREVIOUS_CONTEXT); + return getContext(vNode, CTX_OLD_PREVIOUS_CONTEXT); } function setOldPreviousContextCtx(context: Object) { @@ -111,7 +118,7 @@ function getOldPreviousContextCtx() { } function setContextChangeCtx(providerVNode: VNode, didChange: boolean) { - providerVNode.setContext(CTX_OLD_CHANGE, didChange); + setContext(providerVNode, CTX_OLD_CHANGE, didChange); ctxOldChange = didChange; } @@ -120,7 +127,7 @@ function getContextChangeCtx() { } function resetContextChangeCtx(vNode: VNode) { - ctxOldChange = vNode.getContext(CTX_OLD_CHANGE); + ctxOldChange = getContext(vNode, CTX_OLD_CHANGE); } export { diff --git a/libs/horizon/src/renderer/vnode/VNode.ts b/libs/horizon/src/renderer/vnode/VNode.ts index d349ead7..0562b7d2 100644 --- a/libs/horizon/src/renderer/vnode/VNode.ts +++ b/libs/horizon/src/renderer/vnode/VNode.ts @@ -92,11 +92,4 @@ export class VNode { this.toUpdateNodes = new Set(); } } - - setContext(contextName, value) { - this.contexts[contextName] = value; - } - getContext(contextName) { - return this.contexts[contextName]; - } }