Flutter'da Riverpod öğrenmeye çalışıyorum. Ta ki buraya gelinceye kadar bir sıkıntı yoktu.
Şöyle bir notifier ve bir providerım var.
Bir de iki adet bu şekilde Consumer widgeti var. Butona basınca file explorer geliyor dosyayı seçtikten sonra yeniden uygulamaya geri dönüyoruz. Ama altındaki Text widgeti güncellenmiyor aynı şekilde "No File Selected" yazıyor. Hot reload yapınca düzeliyor ama bunun ben bir şey yapmadan direkt dosya ismini göstermesi gerekiyor. Ne yapacağımı bilemedim.
Kod:
class FileNameNotifier extends StateNotifier<String?> {
FileNameNotifier() : super(null);
Future<void> setFileName(String? fileName) async {
state = fileName;
}
String? getFileName() {
return state;
}
}
final fileNameProvider =
StateNotifierProvider<FileNameNotifier, String?>((ref) {
return FileNameNotifier();
});
Şöyle bir notifier ve bir providerım var.
Kod:
Consumer(
builder: (context, ref, child) => ElevatedButton(
onPressed: () async {
CreamPath.pickFiles(ref);
},
child: const Text("Select File"),
),
),
Consumer(
builder: (context, ref, child) => Text(
ref.read(fileNameProvider.notifier).getFileName() ??
"No File Selected"),
)
Bir de iki adet bu şekilde Consumer widgeti var. Butona basınca file explorer geliyor dosyayı seçtikten sonra yeniden uygulamaya geri dönüyoruz. Ama altındaki Text widgeti güncellenmiyor aynı şekilde "No File Selected" yazıyor. Hot reload yapınca düzeliyor ama bunun ben bir şey yapmadan direkt dosya ismini göstermesi gerekiyor. Ne yapacağımı bilemedim.