From 2e5ee2f8ce0fea751390e02243e26043f573f4bb Mon Sep 17 00:00:00 2001 From: paulshen Date: Thu, 6 Jun 2019 16:12:56 -0700 Subject: [PATCH] detach fiber from dom --- packages/react-dom/src/client/ReactDOMComponentTree.js | 10 +++++----- packages/react-reconciler/src/ReactFiberCommitWork.js | 3 +++ 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/packages/react-dom/src/client/ReactDOMComponentTree.js b/packages/react-dom/src/client/ReactDOMComponentTree.js index a3b61d6e49e0..4ccb98d572be 100644 --- a/packages/react-dom/src/client/ReactDOMComponentTree.js +++ b/packages/react-dom/src/client/ReactDOMComponentTree.js @@ -8,11 +8,11 @@ import {HostComponent, HostText} from 'shared/ReactWorkTags'; import invariant from 'shared/invariant'; -const randomKey = Math.random() - .toString(36) - .slice(2); -const internalInstanceKey = '__reactInternalInstance$' + randomKey; -const internalEventHandlersKey = '__reactEventHandlers$' + randomKey; +// const randomKey = Math.random() +// .toString(36) +// .slice(2); +const internalInstanceKey = '__reactInternalInstance$'; +const internalEventHandlersKey = '__reactEventHandlers$'; export function precacheFiberNode(hostInst, node) { node[internalInstanceKey] = hostInst; diff --git a/packages/react-reconciler/src/ReactFiberCommitWork.js b/packages/react-reconciler/src/ReactFiberCommitWork.js index faf83c9ff9cf..f10543b422da 100644 --- a/packages/react-reconciler/src/ReactFiberCommitWork.js +++ b/packages/react-reconciler/src/ReactFiberCommitWork.js @@ -728,6 +728,9 @@ function commitUnmount(current: Fiber): void { } case HostComponent: { safelyDetachRef(current); + // HACK: detach fiber references from DOM + current.stateNode.__reactEventHandlers$ = null; + current.stateNode.__reactInternalInstance$ = null; break; } case HostPortal: {