From 750d282c03a880204fefdef01e180510465b82f8 Mon Sep 17 00:00:00 2001 From: tanruhuo <891567977@qq.com> Date: Thu, 14 Apr 2022 00:20:04 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8DReact17=E9=80=89?= =?UTF-8?q?=E4=B8=AD=E7=BB=84=E4=BB=B6bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/rax-simulator-renderer/src/renderer.ts | 5 ++++- packages/react-simulator-renderer/src/renderer.ts | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/rax-simulator-renderer/src/renderer.ts b/packages/rax-simulator-renderer/src/renderer.ts index 7a8e85e5a..80088ea2a 100644 --- a/packages/rax-simulator-renderer/src/renderer.ts +++ b/packages/rax-simulator-renderer/src/renderer.ts @@ -73,7 +73,10 @@ function cacheReactKey(el: Element): Element { if (REACT_KEY !== '') { return el; } - REACT_KEY = Object.keys(el).find((key) => key.startsWith('__reactInternalInstance$')) || ''; + // react17 采用 __reactFiber 开头 + REACT_KEY = Object.keys(el).find( + (key) => key.startsWith('__reactInternalInstance$') || key.startsWith('__reactFiber$'), + ) || ''; if (!REACT_KEY && (el as HTMLElement).parentElement) { return cacheReactKey((el as HTMLElement).parentElement!); } diff --git a/packages/react-simulator-renderer/src/renderer.ts b/packages/react-simulator-renderer/src/renderer.ts index 45ce896f7..2d493067c 100644 --- a/packages/react-simulator-renderer/src/renderer.ts +++ b/packages/react-simulator-renderer/src/renderer.ts @@ -530,7 +530,10 @@ function cacheReactKey(el: Element): Element { if (REACT_KEY !== '') { return el; } - REACT_KEY = Object.keys(el).find((key) => key.startsWith('__reactInternalInstance$')) || ''; + // react17 采用 __reactFiber 开头 + REACT_KEY = Object.keys(el).find( + (key) => key.startsWith('__reactInternalInstance$') || key.startsWith('__reactFiber$'), + ) || ''; if (!REACT_KEY && (el as HTMLElement).parentElement) { return cacheReactKey((el as HTMLElement).parentElement!); }