我实际上正在研究流量模式,关于商店我有些不了解。
他们到底是什么?
我已经阅读了许多文章,似乎与该领域有关。
这是否意味着这是与api调用或后端调用相关的“抽象”部分?
对我来说不是很清楚。
编辑:可能与角度工厂相同吗?获取远程数据,执行业务任务或存储某些应用程序状态(例如,当前连接的用户)?
我实际上正在研究流量模式,关于商店我有些不了解。
他们到底是什么?
我已经阅读了许多文章,似乎与该领域有关。
这是否意味着这是与api调用或后端调用相关的“抽象”部分?
对我来说不是很清楚。
编辑:可能与角度工厂相同吗?获取远程数据,执行业务任务或存储某些应用程序状态(例如,当前连接的用户)?
Answers:
好吧,让我从逐步介绍一下
1什么是助焊剂?
他们也称其为Flux是有原因的。
助焊剂实施
反应:嗨,行动,有人点击了“保存课程”按钮。
行动:谢谢React!我在调度员处注册了一个动作创建者,因此调度员应注意通知所有需要注意的商店。
调度员:让我看看谁关心课程的保存。啊! 看起来该商店已向我注册了回调,所以我会让她知道。
店铺:调度员,大家好!感谢更新!我将使用您发送的有效负载更新数据。然后,我将为关心的React组件发出一个事件。
反应:哦!来自商店的闪亮新数据!我将更新用户界面以反映这一点!
register(function callback) –“嘿调度员,当发生动作时运行我。-商店”
unregister(string id) –“调度员,别担心这个动作。-商店”
waitFor(array ids) –“首先更新此商店。-商店”
dispatch(对象有效负载) -“嘿调度程序,告诉商店有关此操作的信息。-行动”
isDispatching() –“我正在忙于分派回调。”
所以我们想到的问题是
那么Flux是发布-订阅模型吗?
不完全的。
有两种不同:
1,每个有效负载都分派给所有已注册的回调
2,回调可以等待其他回调
Flux是单向数据流的一种模式动作封装了事件Dispatcher是一个保存回调的中央集线器存储了保存应用程序状态的许多实现
查找一个简单的示例(https://github.com/facebook/flux/tree/master/examples/flux-todomvc/),“商店管理应用程序中特定域的应用程序状态。”也就是说,它们包含有关应用程序一个方面的状态的数据以及更改它的所有代码。每当分派器有新的更新时,所有商店都将看到该更新,他们决定如何响应来更新其数据,然后通知视图数据已更改。在示例中,商店包含诸如“看不见的线程列表”(Dispatcher在其中通知他们新消息已到或已阅读旧消息,并且视图向用户显示消息线程)和“当前播放时间以及州。”
从技术上讲,它们是框架的中间层,向Dispatcher注册回调以接收更新,然后在数据状态更改时通知View。(然后,视图可能会将动作发送回Dispatcher。)它们实现了一个抽象接口,其中每个Store向Dispatcher注册一个回调,并将事件广播到View,但是每个Store似乎都以一种具体的方式代表了一个特定的域。(是否有反例?)