mirror of
https://github.com/rrousselGit/riverpod.git
synced 2025-08-15 10:11:27 +08:00
36 lines
799 B
Dart
36 lines
799 B
Dart
// ignore_for_file: unused_local_variable
|
|
|
|
import 'package:flutter/foundation.dart';
|
|
import 'package:riverpod/riverpod.dart';
|
|
|
|
final otherProvider = Provider<int>((ref) => 0);
|
|
|
|
/* SNIPPET START */
|
|
final provider = Provider<int>((ref) {
|
|
ref.watch(otherProvider); // Good!
|
|
ref.onDispose(() => ref.watch(otherProvider)); // Bad!
|
|
|
|
final someListenable = ValueNotifier(0);
|
|
someListenable.addListener(() {
|
|
ref.watch(otherProvider); // Bad!
|
|
});
|
|
|
|
return 0;
|
|
});
|
|
|
|
final notifierProvider = NotifierProvider<MyNotifier, int>(MyNotifier.new);
|
|
|
|
class MyNotifier extends Notifier<int> {
|
|
@override
|
|
int build() {
|
|
ref.watch(otherProvider); // Good!
|
|
ref.onDispose(() => ref.watch(otherProvider)); // Bad!
|
|
|
|
return 0;
|
|
}
|
|
|
|
void increment() {
|
|
ref.watch(otherProvider); // Bad!
|
|
}
|
|
}
|