gpt4 book ai didi

flutter - 我应该如何从不同的文件访问 Riverpod 提供程序?

转载 作者:行者123 更新时间:2023-12-05 02:42:19 27 4
gpt4 key购买 nike

我习惯于调用提供者的 Provider.of() 来从小部件树的其他位置获取提供者,但我发现的每个 Riverpod 资源都依赖于对提供者变量的访问权限(通过将两个小部件放在同一个文件中)。对于仅通过两个小部件到达的提供程序,传递此变量非常简单,但我认为这对于访问在小部件树中较高位置创建的提供程序不可行。有没有合适的方法来获得提供者?

最佳答案

您可以简单地导入定义提供程序的文件。Riverpod 提供程序是在全局范围内创建的,因此可以在任何地方访问。

例如:

// hello_provider.dart
import 'package:flutter_riverpod/flutter_riverpod.dart';

final helloWorld = Provider<String>((_) => 'Hello World');
// widget.dart
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:my_app/hello_provider.dart'

class MyWidget extends ConsumerWidget {
@override
Widget build(BuildContext context, ScopedReader watch) {
return Text(watch(helloWorld));
}
}

关于flutter - 我应该如何从不同的文件访问 Riverpod 提供程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67665045/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com