有什么像 componentWillDisapear() RN?
我的问题的详细信息:
我有两个屏幕:“主页”和“详细信息”。我的应用程序使用“ firebase_admob”进行广告,而“ firebase_admob”(请参见下面的屏幕截图)只能为整个应用程序显示固定的横幅。因此,当您转到其他屏幕时,您也可以看到它,但是我仅在主屏幕中需要它。这意味着,当用户导航到“详细信息”时,我必须将其隐藏。怎么做?
注意:我想dispose()在用户离开主屏幕时打电话。要渲染横幅,您需要show()在BannerAd课堂上调用,而当您需要隐藏时,只需调用dispose。
下面的代码允许检查页面是否对用户可见:
import 'package:flutter/material.dart';
class TestWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
print('TestWidget: ${ModalRoute.of(context).isCurrent}');
return Container();
}
}
Run Code Online (Sandbox Code Playgroud)
并且此示例可以检查何时更改了路线。但是您无法获得当前页面名称。
作为对 Kostya Vyrodov 的回答的补充以及对他的评论“但您无法获取当前页面名称。”的回应,以下代码片段将打印当前页面名称。
print("context.widget.toStringShort: ${context.widget.toStringShort()}");
Run Code Online (Sandbox Code Playgroud)
通常,这最好在页面的 initState 中使用,以将页面名称保存到全局变量中,以便在应用程序的其他地方使用。例如,我在 _firebaseMessaging.configure() 方法中将其与 Firebase Cloud Messaging 结合使用,以确定特定的导航要求。如果有人觉得这有用,请点赞。
| 归档时间: |
|
| 查看次数: |
1715 次 |
| 最近记录: |