Reactivitatea în Riverpod: watch vs read
Riverpod este rescrierea modernă a conceptului de Provider, eliminând dependența de BuildContext și garantând siguranță la compilare (fără ProviderNotFoundException):
ref.watch(furnizor): se folosește în metodabuild()a unuiConsumerWidget. Citește valoarea și reconstruiește automat widget-ul când starea se schimbă.ref.read(furnizor): citește valoarea o singură dată fără a se abona la modificări. Se utilizează exclusiv în callback-uri de evenimente (ex: la click pe un buton).
Exemplu Concret: ConsumerWidget cu Riverpod
import 'package:flutter_riverpod/flutter_riverpod.dart';
final contorProvider = StateProvider((ref) => 0);
class ContorEcran extends ConsumerWidget {
const ContorEcran({super.key});
@override
Widget build(BuildContext context, WidgetRef ref) {
final contor = ref.watch(contorProvider);
return ElevatedButton(
onPressed: () => ref.read(contorProvider.notifier).state++,
child: Text('Scor: $contor'),
);
}
}
Întrebări & Exemple de Cod:
Reactivitatea Riverpod cu ref.watch() și ref.read() în FlutterAi o nelămurire despre utilizarea comenzii
Reactivitatea Riverpod cu ref.watch() și ref.read() în Fluttersau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.