From 639a797ef1c57945de30b6f1dc9cb6ea788587df Mon Sep 17 00:00:00 2001 From: * <*> Date: Fri, 24 Mar 2023 17:22:30 +0800 Subject: [PATCH] Match-id-a0e9ecd2323caf055755c2e5a907dffd3a6881a5 --- CHANGELOG.md | 3 +++ libs/horizon/package.json | 2 +- libs/horizon/src/renderer/components/ForwardRef.ts | 2 +- libs/horizon/src/renderer/components/Memo.ts | 2 +- 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a9f1b53f..580aa79f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +## 0.0.42 (2023-03-24) +- **core**: 解决直接通过defineProperty赋值vtype,enumerable为false,导致vtype为空问题 + ## 0.0.41 (2023-03-15) - **core**: #105 redux + forwardRef组合使用场景会报错,redux获取组件类型不对 - **core**: 增加jsx-dev-runtime文件,给vite使用 diff --git a/libs/horizon/package.json b/libs/horizon/package.json index c28cbac2..0273c7f8 100644 --- a/libs/horizon/package.json +++ b/libs/horizon/package.json @@ -4,7 +4,7 @@ "keywords": [ "horizon" ], - "version": "0.0.41", + "version": "0.0.42", "homepage": "", "bugs": "", "main": "index.js", diff --git a/libs/horizon/src/renderer/components/ForwardRef.ts b/libs/horizon/src/renderer/components/ForwardRef.ts index 77107760..9db9cec3 100644 --- a/libs/horizon/src/renderer/components/ForwardRef.ts +++ b/libs/horizon/src/renderer/components/ForwardRef.ts @@ -17,6 +17,7 @@ import {TYPE_FORWARD_REF, TYPE_MEMO} from '../../external/JSXElementType'; export function forwardRef(render: Function) { const forwardRefJSXElement = { + vtype: TYPE_FORWARD_REF, $$typeof: TYPE_FORWARD_REF, // 规避三方件hoist-non-react-statics中,通过$$typeof获取类型,但获取不到,导致render被覆盖 render, }; @@ -25,7 +26,6 @@ export function forwardRef(render: Function) { Object.defineProperty(forwardRefJSXElement, 'vtype', { configurable: false, writable: false, - value: TYPE_FORWARD_REF, }); return forwardRefJSXElement; diff --git a/libs/horizon/src/renderer/components/Memo.ts b/libs/horizon/src/renderer/components/Memo.ts index 0ced1af7..6ae03105 100644 --- a/libs/horizon/src/renderer/components/Memo.ts +++ b/libs/horizon/src/renderer/components/Memo.ts @@ -17,6 +17,7 @@ import { TYPE_MEMO } from '../../external/JSXElementType'; export function memo(type, compare?: (oldProps: Props, newProps: Props) => boolean) { const memoJSXElement = { + vtype: TYPE_MEMO, $$typeof: TYPE_MEMO, // 规避三方件hoist-non-react-statics中,通过$$typeof获取类型,但获取不到,导致type被覆盖 type: type, compare: compare === undefined ? null : compare, @@ -26,7 +27,6 @@ export function memo(type, compare?: (oldProps: Props, newProps: Props) = Object.defineProperty(memoJSXElement, 'vtype', { configurable: false, writable: false, - value: TYPE_MEMO, }); return memoJSXElement;