小编Tim*_*thy的帖子

如何在没有上下文的情况下在 Flutter 中使用 GoRouter 进行路由?

我想解决的问题: 我使用 GoRouter 的应用程序需要能够从 main() 内路由到命名路由。由于大多数路由都是“context.go”形式,因此我无法在 main 中执行此操作。

背景

我的应用程序使用 GoRouter。GetX 让我轻松定义命名路由并从 main() 传递参数,这非常完美。

然而,GetX 和 GoRouter 最终给我带来了问题。GoRouter 最终在应用程序的其他部分将没有上下文。

如果有一种方法可以让它们简单地共存,我会对此持开放态度。

我使用了 GetIt 包的服务定位器模式来与 navigatorKey 关联。当我测试它时它会起作用 - 但这涉及创建两个 MaterialApp。

然而,这个应用程序使用GoRouter,它似乎没有使用navigatorKey。

我想从 main() 内部转到特定的路线。服务定位器模式似乎适用于 GoRouter,就像适用于 MaterialApp 的 Navigator 2.0 一样——但我找不到如何执行此操作的示例。

更详细的上下文:

这是我目前在 main() 中的内容。

你可以看到我面临的关键挑战是在 main 中传递数据参数的监听器(我从第三方 SDK 得到这个——我不需要它在 main 中,但无论如何它都需要监听应用程序的状态)。

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();

  FFAppState(); // Initialize FFAppState

  GetSocial.addOnInitializedListener(() => {
        // GetSocial SDK is ready to use
      });

  setupLocator();

  runApp(MyApp());

  locator<LandingPageData>().referralID = "defaultReferralID";

  registerListeners();
} …
Run Code Online (Sandbox Code Playgroud)

service-locator flutter gorouter

13
推荐指数
3
解决办法
1万
查看次数

如何在ruby中的记录中找到max属性?

我有几个记录有几个属性(A,B,C,D).

我希望能够找到哪个记录具有给定属性的更高值,例如D.

我怎么做?

ruby ruby-on-rails max min

6
推荐指数
1
解决办法
3126
查看次数

FBLPromises.framework 不包含位码 - 构建失败

即使在我的 Podfile 中将 Bitcode 设置为 No 后,我也会收到以下错误。这种情况发生在不同的 Xcode 中,最高版本为 14.0(此时我收到签名错误,这也没有意义,因为我已经在所有目标上建立了开发团队):

错误(Xcode):'/Users/builder/Library/Developer/Xcode/DerivedData/Runner-edaimyiflreloheqntgnhkmwcclv/Build/Intermediates.noindex/ArchiveIntermediates/Runner/BuildProductsPath/Release-iphoneos/PromisesObjC/FBLPromises.framework/FBLPromises'不包含位码。您必须在启用位码(Xcode 设置 ENABLE_BITCODE)的情况下重建它,从供应商处获取更新的库,或禁用该目标的位码。文件“/Users/builder/Library/Developer/Xcode/DerivedData/Runner-edaimyiflreloheqntgnhkmwcclv/Build/Intermediates.noindex/ArchiveIntermediates/Runner/BuildProductsPath/Release-iphoneos/PromisesObjC/FBLPromises.framework/FBLPromises”架构arm64

当我将启用位码设置为“是”时,我收到其他错误......并且看起来如此,大多数人建议设置为“否”。

对此有何想法?它似乎是特定于这个特定框架的。

xcode cocoapods flutter xcode13

5
推荐指数
1
解决办法
1万
查看次数