Riverpod 没有重新构建预期的小部件

时间:2021-07-18 19:57:25

标签: flutter riverpod

我正在试用 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();
  }

}

完整的回购链接:https://github.com/Cyberavater/randomizer

1 个答案:

答案 0 :(得分:3)

final randomize = Provider((_) => RandomizeChangeNotifier());

应该是一个 ChangeNotiferProvider

final randomize = ChangeNotifierProvider((_) => RandomizeChangeNotifier());