我是一名JS新手并且正在开发一款助焊剂应用程序。
目前,根组件具有Action实例,子组件分配有调用Action的事件处理程序。更深层的后代被分配了最终到达Action的处理程序,但这使我不愿意维持回调流程。
我制作了一个静态解析器来提供对Action的访问,如:
var action = Resolver.resolveAction(); // Returns singleton action
通过这种方式,子组件可以直接调用Action并通过共享Dispatcher发出。只有根组件正在侦听Store并刷新整个组件树。
我想这不会偏离通量方式,虽然没有信心。这是一种不好的做法,还是其他选择?
答案 0 :(得分:0)
您描述的第一个操作应表示为动作创建者。这是触发事件处理程序时触发的内容。我认为您的问题是询问您应该如何处理从动作创建者返回的数据?
在这种情况下,您可以编写另一个Action接收该响应并发送给调度程序。然后,调度程序将进入相应的存储区,该存储区将对所有侦听组件进行更改。当商店发布时,它将“刷新整个组件树”(假设您有商店监听器并且状态监听这些更改)。
这只是一种流量方式,允许你不要使用回调树 - 这是不好的做法。