前言
要明白为什么用Provider
,在原先修改数据都是通过setState
来进行修改,这样导致视图和逻辑无法分层,使后续代码难以维护,所以可以通过Provider
来进行更好的维护。想在Flutter
中实现MVVC架构的话通过Provider
是一个不错的选择,而且在Provider
官方文档也有比较清晰的说明,这里主要就是总结我做时候的方案。(本文参考了Flutter的官方文档)
安装包
可以通过直接在pubspec.yaml
在dependencies
中添加provider: 版本号
来直接安装provider
。
创建逻辑类
创建一个类来继承Provider
的ChangeNotifier
,这里用来当作改变状态的通知者。每次当状态要修改时候需要条用notifyListeners()
才能使Provider
知道你修改了里面的值。
class ContactsViewModel extends ChangeNotifier {
// 好友列表
List _friendsList = [];
// 添加好友
void addFriend() {