flutter - 使用导航中的道具调用 API
问题描述
我想根据通过导航发送的值调用我的内容管理系统的 API,如下所示:
final Map option = ModalRoute.of(context).settings.arguments;
如果我尝试访问其中的导航参数,initState()
则会抛出
[ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: dependOnInheritedWidgetOfExactType<_ModalScopeStatus>() or dependOnInheritedElement() was called before _SelfCareScreenState.initState() completed.
如果我在其中访问它,didChangeDependencies()
它会起作用,但会调用 API 两次。option
有没有一种方法可以让我使用from nav 参数调用我的 api而无需调用两次?
解决方案
如果您的目标是发送某种分析(或类似的东西),您应该查看RouterObserver和RouteAware类。取决于您的需要,也许您应该尝试使用带有扩展路线信息的NavigatorObserver 。
推荐阅读
- java - Android 使用 setAccessibilityTraversalAfter() 更改可访问性顺序不起作用
- java - 是否可以更改方法链的方法返回类型?
- r - 将具有 NULL 值的命名参数列表传递给函数
- meshlab - Meshlab 中的 3d 模型版本
- excel - 在使用 VBA 从 Access 自动打开和搜索之前检查打开的 Excel 文件
- objective-c - 在 Objective-C 中调用的 Swift 协议不起作用,应用程序崩溃并显示错误消息“无法识别的选择器”
- python - 如何根据时间范围删除数组中的所有行?
- ms-access - Access 2016 表单查询问题
- vue.js - RabbitMq 与 Vue JS
- javascript - Mongoose 将数据从 withTransaction 助手中传递出去