创建一个StateNotifier 类,然后再类里面添加自定义方法,super默认返回[]
class TodosNotifier extends StateNotifier<List<String>> {
TodosNotifier() : super([]);
void addTodo(String todo) {
state = [...state, todo];
}
}
然后再创建一个StateNotifierProvider,把自己最开始创建的类 加入到这个里面
final todosProvider = StateNotifierProvider<TodosNotifier, List<String>>((ref) {
return TodosNotifier();
});
使用
addTodo 是TodosNotifier 这个类里面的方法可以直接使用
ref.read(todosProvider.notifier).addTodo(file!.path)
监听
ref.watch(todosProvider)
创建了一个名为TodosNotifier的StateNotifier类,初始化时state为空列表。定义了addTodo方法用于添加项。然后,通过StateNotifierProvider创建了todosProvider,提供TodosNotifier实例。使用ref读取notifier调用addTodo方法,并通过ref.watch监听todosProvider的状态变化。
1293

被折叠的 条评论
为什么被折叠?



