我正在试用 riverpod。当我尝试“观看”时(就像我对提供者所做的那样),小部件没有更新。如果我返回并返回到此页面,只有在它重建后我才能看到更改。
final randomize = Provider((_) => RandomizeChangeNotifier());
...
...
Text(
ref.watch(randomize).randomNumber?.toString() ??
'Generate A Random Number',
style: TextStyle(fontSize: 16),
)
ChangeNotifier 类:
class RandomizeChangeNotifier extends ChangeNotifier {
final random = Random();
int? _randomNumber;
get randomNumber => _randomNumber;
int min = 0;
int max = 0;
generateRandomNumber(){
_randomNumber = min + random.nextInt(max + 1 - min);
notifyListeners();
}
}
答案 0 :(得分:3)
final randomize = Provider((_) => RandomizeChangeNotifier());
应该是一个 ChangeNotiferProvider
final randomize = ChangeNotifierProvider((_) => RandomizeChangeNotifier());