我刚刚开始使用Flutter编写我的第一个应用程序,而State Management令我非常困惑。因此,我需要一点帮助。我试图使用提供程序包。我没有使用Firebase。
应用程序中数据排列方式的基本要点是,每个用户都有一个单独的帐户,每个用户都拥有自己拥有的物品的多维列表。
例如:用户David拥有[Furniture, Clothes]
。然后,每个项目也是该项目类型的列表。例如:Furniture = [Desk, Bed]
和Clothes = [Shirt, Pant]
。然后,每种类型的项目都是该项目的属性的列表。例如:Desk = [Wood, Metal]
和Shirt = [Cotton, White]
。有些视图显示该人拥有的物品清单。轻触项目可显示拥有的项目类型的列表。然后轻按一种类型的项目将进入一个列出属性的视图。
我目前正在做的是在视图之间传递索引,我觉得必须有更好的方法。
我想要的是,我的四个不同的观点是不同ChangeNotifiers
的消费者。例如:显示拥有物品(家具,衣服)的视图是OwnerModel
的消费者,类型(Desk, Bed
或Shirt, Pant
)的视图是{{1 }},且具有属性(Consumer
或TypeModel
)的视图为Wood, Metal
中的Cotton, White
。
当用户登录时,Consumer
会被告知该值并通知其侦听器(该视图显示所拥有的东西)。当用户点击某个类型时,PropertyModel
会被告知并通知其侦听器(该视图显示特定事物的类型)。当用户点击某个特定内容时,OwnerModel
会被告知并通知其侦听器(该视图显示了特定类型的属性)。我有点理解如何实现此前传。但是在显示类型和属性列表的视图上,有添加按钮。我希望在属性视图上点击添加按钮时,会告诉TypeModel
并通知其侦听器(PropertiesModel
)。同样,当在类型视图上点击添加按钮时,将通知PropertiesModel
并通知其侦听器(TypeModel
)。
我觉得这是让State顺利通过的好方法,但是我对应用程序开发是陌生的。因此,我很想知道任何人想就我的案件管理国家提出其他建议。