Pular para o conteúdo principal

Primeiros passos

Antes de mergulhar nos mecanismos internos do Riverpod, vamos começar com o básico: Instalando o Riverpod e escrevendo um "Olá Mundo".

Qual pacote instalar

Antes de qualquer coisa, você precisa estar ciente de que o Riverpod está distribuído em vários pacotes, com uso ligeiramente diferente.
A variante do Riverpod que você deseja instalar depende do aplicativo que você está criando.

Você pode consultar a tabela a seguir para ajudá-lo a decidir qual pacote usar:

tipo de aplicativonome do pacotedescrição
Apenas Flutterflutter_riverpodUma maneira básica de usar Riverpod com flutter.
Flutter + flutter_hookshooks_riverpodUma maneira de usar flutter_hooks e Riverpod juntos.
Apenas Dart (Sem Flutter)riverpodUma versão do Riverpod em que todas as classes relacionadas ao Flutter foram removidas.

Instalando o pacote

Depois de saber qual pacote deseja instalar, adicione o seguinte ao seu pubspec.yaml:

pubspec.yaml
environment:
sdk: ">=2.12.0 <3.0.0"
flutter: ">=2.0.0"

dependencies:
flutter:
sdk: flutter
flutter_hooks: ^0.18.0
hooks_riverpod: ^2.0.0-dev.5

Then run flutter pub get.

É isso. Você adicionou Riverpod ao seu aplicativo! 🥳 🤩

Exemplo de uso: Olá mundo

Agora que instalamos o Riverpod, podemos começar a usá-lo.

Os snippets a seguir mostram como usar nossa nova dependência para criar um "Olá mundo":

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

// Criamos um "provider", que armazenará um valor (aqui "Olá, mundo").
// Ao usar um provider, isso nos permite simular/substituir o valor exposto.
final olaMundoProvider = Provider((_) => 'Olá mundo');

void main() {
runApp(
// Para que os widgets possam ler os provides, precisamos envolver o
// aplicativo inteiro em um widget "ProviderScope".
// É aqui que o estado dos nossos providers será armazenado.
ProviderScope(
child: MyApp(),
),
);
}

// Nota: MyApp é um HookConsumerWidget, pacote `hooks_riverpod`.
class MyApp extends HookConsumerWidget {
@override
Widget build(BuildContext context, WidgetRef ref) {
final String value = ref.watch(olaMundoProvider);

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

Que você pode então executar flutter run.
Isso renderizará "Olá mundo" no seu dispositivo.

Indo além: Instalando code snippets

Se você estiver usando Flutter e VS Code , considere usar Flutter Riverpod Snippets

Se você estiver usando Flutter e Android Studio ou IntelliJ, considere usar Flutter Riverpod Snippets

img

Escolha seu próximo passo

Aprenda alguns conceitos básicos:

Seguir um livro-de-receitas: