我正在尝试比较ReactJS(使用Redux或Context API / Hooks)中存在的状态管理解决方案,并试图在Ember应用程序中找到某种可比较的东西。
Ember服务(成为单例)是否可以称为Ember应用程序中的状态管理解决方案,或者在Ember应用程序中还有其他可用于状态管理的东西吗?
答案 0 :(得分:4)
Ember应用通常根据上下文管理状态的几种方式。
1)URL:Ember应用程序中的所有状态均以URL开头,该URL也可以包含查询参数。通常,该URL是通过Route访问的,该数据会转换为对应用程序有用的信息,然后传递给组件。
2)Ember数据存储:对于要持久存储的事物(例如,通过API和API进行数据库存储),Ember Data模型和随附的存储可在整个应用程序中提供对该状态的访问。存储是可以从应用程序中的任何位置访问的服务,并在任何需要的地方提供相同的模型实例。这意味着,如果您在一处更改用户名,则会在使用该用户模型的任何地方都反映出来。
3)服务:更短暂的状态是前两个可以保留在可以从应用程序中的任何位置注入和访问的服务中。服务中没有可放置的规则,在我们的应用中,我们具有从特定组件的滚动位置到当前用户许可的所有内容。