Flutter Riverpod:StateNotifier 不重新渲染小部件

Flutter Riverpod: StateNotifier not rerendering widget

我有一个简单的 StateNotifier class 像这样:

class MyClass extends StateNotifier<Map<String, dynamic>> {
  Map<String, dynamic> data;

  MyClass({this.data}) : super(null) {
    data = data ?? {};
  }

  setData(Map<String, dynamic> newData) {
    data = {...data, ...newData};
  }
}

我在 providers.dart 文件中定义了我的提供商:

final myClassProvider = StateNotifierProvider((ref) => _myClass);

...我正在导入并尝试在我的小部件 build 中“读取”,并在 MyClass 的状态发生变化时更新小部件:

MyClass _myClass = ref.watch(myClassProvider.notifier);

我有几个调用 setData 方法的按钮,我可以看到它获取了新数据,但我的小部件从未重新呈现。如果我向后导航一个屏幕,然后再次前进到相同的视图,我可以看到它已经用新数据更新了,但我的小部件永远不会重新呈现。我在这里做错了什么吗?

StateNotifier 有自己的 state.

class MyClass extends StateNotifier<Map<String, dynamic>> {

  MyClass(Map<String, dynamic> data) : super(data);

  setData(Map<String, dynamic> newData) {
    state = {...state, ...newData};
  }
}