Skip to content

Commit 2cbd765

Browse files
mackwang112claude
andcommitted
fix: 将 notifyDimensionsChange 改为全局方法,修正类型定义
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 8bc0c29 commit 2cbd765

3 files changed

Lines changed: 14 additions & 14 deletions

File tree

packages/core/@types/global.d.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,15 @@ declare module '*?resolve' {
1414

1515
declare let setAppShow: () => void
1616
declare let setAppHide: () => void
17+
18+
/**
19+
* 主动通知框架 dimensions 发生变化,触发 rpx、vw、vh、媒体查询、onResize 等的重新计算。
20+
*
21+
* 框架默认已监听 `Dimensions.addEventListener('change', ...)` 自动处理,
22+
* 在某些容器环境下(如折叠屏、分屏)系统事件无法正常触发时,可手动调用此方法驱动更新。
23+
*
24+
* 不传参时默认使用当前全局 dimensions。
25+
*
26+
* @param dimensions 包含 window 和 screen 的尺寸信息,不传则使用当前全局 dimensions
27+
*/
28+
declare let notifyDimensionsChange: (dimensions?: { window: import('react-native').ScaledSize; screen: import('react-native').ScaledSize }) => void

packages/core/@types/index.d.ts

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -380,18 +380,6 @@ export interface RnConfig {
380380
dimensions: { window: ScaledSize; screen: ScaledSize }
381381
) => { window: ScaledSize; screen: ScaledSize } | void
382382

383-
/**
384-
* 主动通知框架 dimensions 发生变化,触发 rpx、vw、vh、媒体查询、onResize 等的重新计算。
385-
*
386-
* 框架默认已监听 `Dimensions.addEventListener('change', ...)` 自动处理,
387-
* 在某些容器环境下(如折叠屏、分屏)系统事件无法正常触发时,可手动调用此方法驱动更新。
388-
*
389-
* 不传参时默认使用当前全局 dimensions。
390-
*
391-
* @param dimensions 包含 window 和 screen 的尺寸信息,不传则使用当前全局 dimensions
392-
*/
393-
notifyDimensionsChange?: (dimensions?: { window: ScaledSize; screen: ScaledSize }) => void
394-
395383
/**
396384
* 加载并执行异步分包的方法。
397385
*

packages/core/src/platform/builtInMixins/styleHelperMixin.ios.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,8 @@ function onDimensionsChange (dimensions) {
6363
}
6464
}
6565
}
66+
// 默认实现:不传参时通过 Dimensions 实时获取当前屏幕尺寸(拷贝一份防止原对象被外部修改)
67+
global.notifyDimensionsChange = onDimensionsChange
6668

6769
Dimensions.addEventListener('change', onDimensionsChange)
6870

@@ -97,8 +99,6 @@ function formatValue (value, unitType) {
9799
if (!dimensionsApplied) {
98100
dimensionsApplied = true
99101
applyDimensionsInfo(global.__mpxAppDimensionsInfo)
100-
// 默认实现:不传参时通过 Dimensions 实时获取当前屏幕尺寸(拷贝一份防止原对象被外部修改)
101-
Mpx.config.rnConfig.notifyDimensionsChange = onDimensionsChange
102102
}
103103
if (unitType === 'hairlineWidth') {
104104
return StyleSheet.hairlineWidth

0 commit comments

Comments
 (0)