首页 > 解决方案 > Ember 应用程序中的状态管理

问题描述

我正在尝试比较 ReactJS 中存在的状态管理解决方案(使用 Redux 或 Context API/Hooks),并尝试在 Ember 应用程序中识别出一些可比较的东西。

可以将 Ember 服务(作为单例)称为 Ember 应用程序中的状态管理解决方案,还是有其他东西可用于 Ember 应用程序中的状态管理?

标签: reactjsember.jsredux

解决方案


Ember 应用程序通常有多种方式根据上下文管理状态。

1) URL:Ember 应用程序中的所有状态都以 URL 开头,其中也可以包含查询参数。URL 通常通过 Route 访问,这些数据被转换为对应用程序有用的东西并传递到组件中。

2) Ember 数据存储:对于持久存储到存储(例如通过数据库和 API)的事物,Ember 数据模型和随附的存储在整个应用程序中提供对此状态的访问。存储是一种服务,可以从应用程序的任何地方访问,并在任何请求的地方提供相同的模型实例。这意味着如果您在一个地方更改用户的名称,它会在使用该用户模型的任何地方反映出来。

3)服务:比前两个更短暂的状态可以保存在服务中,这些服务可以从应用程序的任何地方注入和访问。可以在服务中放置什么没有规则,在我们的应用程序中,我们拥有从特定组件的滚动位置到当前用户的权限的所有内容。


推荐阅读