进阶 reactnative.dev 2026-10-11 06:04:21 · 39 阅读

第14章 React Native 第14章:AppState 应用状态详解

版本:0.77 AppState 可告知应用当前处于前台还是后台,并在状态变更时发出通知。 它常被用于处理推送通知时判断用户意图并决定相应行为。 应用状态 active - 应用在前台运行。 background - 应用在后台运行。此时用户可能处于以下状态: 在其他应用中 在主屏幕上 [Android] 在其他 Activity 中,包括临时系统 Activity,如自动填充凭据选择器(即使是由你的应用或系统发起的) [iOS] inactive - 该状态出现在前后台切换过程中,以及无操作期间,例如进入多任务视图、打开通知中心或来电时。 更多详情见 Apple 官方文档。 基本用法 可通过检查 `AppState.currentState` 来查看当前状态,该值会实时更新。 提示:若使用旧架构,`currentState` 在启动时初始为 `null`,需异步从原生端获取后才能得到值。 由于应用仅在 active 状态下对用户可见,此示例代码看起来只会显示“当前状态是:active”。若要深入测试该代码,建议使用真机而非嵌入式预览环境。 参考 事件 change 当应用状态改变时触发此事件。监听器将接收当前应用状态值之一作为参数。 memoryWarning iOS 当应用收到操作系统发出的内存警告时触发。 focus Android 当应用获得焦点(即用户正在与应用交互)时触发。 blur Android 当用户未积极与应用交互时触发。这在用户下拉通知栏等场景下非常有用。此时 AppState 不会改变,但 blur 事件会触发。 方法 addEventListener() React TSX `static addEventListener(
type: AppStateEvent,
listener: (state: AppStateStatus) => void,
): EventSubscription;
` 设置一个函数,当 AppState 上指定类型的事件发生时调用该函数。`eventType` 的有效值见上文列表。该方法返回 `EventSubscription`。 属性 currentState React TSX `static currentState: AppStateStatus;
`

评论 (0)