跳到主要内容

开始上手


在线尝试Riverpod

Dartpad 上感受Riverpod的魅力。

安装package

按照你的需要添加下列代码到你的pubspec.yaml文件中 :

pubspec.yaml
name: my_app_name
environment:
sdk: ">=2.17.0 <3.0.0"
flutter: ">=3.0.0"

dependencies:
flutter:
sdk: flutter
flutter_riverpod: ^2.1.3
riverpod_annotation: ^1.1.1

dev_dependencies:
build_runner:
riverpod_generator: ^1.1.1

然后使用 flutter pub get 命令来安装package。

最后,用 命令来运行代码生成工具flutter pub run build_runner watch

就是这样,你成功将Riverpod添加到你的应用当中!

使用示例: Hello world

安装完Riverpod,我们就可以使用了。

下面的代码片段展示了如何使用我们的新依赖来创建一个 "Hello world":

lib/main.dart
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';

part 'main.g.dart';

// 我们创建了一个 "provider", 这里它存储了一个值 (这里是 "Hello world")。
// 通过使用provider,我们能够重写或模拟这个暴露的值

String helloWorld(HelloWorldRef ref) {
return 'Hello world';
}

void main() {
runApp(
// 为了让widget能够读取到provider,我们需要在整个应用外面套上一个
// 名为 "ProviderScope"的widget。
// 我们的这些provider会在这里保存。
ProviderScope(
child: MyApp(),
),
);
}

// 这里我们使用Rivderpod提供的 "ConsumerWidget" 而不是flutter自带的 "StatelessWidget"。
class MyApp extends ConsumerWidget {

Widget build(BuildContext context, WidgetRef ref) {
final String value = ref.watch(helloWorldProvider);

return MaterialApp(
home: Scaffold(
appBar: AppBar(title: const Text('Example')),
body: Center(
child: Text(value),
),
),
);
}
}

你可以使用 flutter run 命令来运行 , 这会在你的设备中央显示 "Hello world" 的文字。

更进一步: 安装代码片段插件

如果你使用 FlutterVS Code ,推荐使用 Flutter Riverpod Snippets

如果你使用 FlutterAndroid StudioIntelliJ,推荐使用 Flutter Riverpod Snippets

img

选择你的下一步

学习一些基础的概念:

Follow a cookbook: