Javascript React子组件直接调用flux应用程序中的操作-错误做法?
我是一个JS新手,从头开始开发flux应用程序 当前,根组件具有动作实例,子组件被分配了调用动作的事件处理程序。较深的子代被分配了最终到达操作的处理程序,但这使我不愿意维护回调流 我制作了一个静态解析器,以提供对以下操作的访问:Javascript React子组件直接调用flux应用程序中的操作-错误做法?,javascript,reactjs,flux,Javascript,Reactjs,Flux,我是一个JS新手,从头开始开发flux应用程序 当前,根组件具有动作实例,子组件被分配了调用动作的事件处理程序。较深的子代被分配了最终到达操作的处理程序,但这使我不愿意维护回调流 我制作了一个静态解析器,以提供对以下操作的访问: var action = Resolver.resolveAction(); // Returns singleton action 通过这种方式,子组件可以直接调用操作并通过共享调度程序发出。只有根组件正在侦听存储和刷新整个组件树 我想这并没有偏离通量的方式,尽管没
var action = Resolver.resolveAction(); // Returns singleton action
通过这种方式,子组件可以直接调用操作并通过共享调度程序发出。只有根组件正在侦听存储和刷新整个组件树
我想这并没有偏离通量的方式,尽管没有多少信心。这是一种不好的做法还是其他选择?您描述的第一个操作应该被表示为操作创建者。这是在触发事件处理程序时触发的事件。我认为您的问题是,您应该如何处理从动作创建者返回的数据 在这种情况下,您将编写另一个操作,以接收该响应并向调度器发送。然后,调度器将其发送到适当的存储,该存储将向所有侦听的组件发出更改。当存储发出时,它将“刷新整个组件树”(假设您有存储侦听器和状态侦听这些更改)
这只是一种不断变化的方式,允许您没有回调树——这是一种不好的做法。您描述的第一个动作应该表示为动作创建者。这是在触发事件处理程序时触发的事件。我认为您的问题是,您应该如何处理从动作创建者返回的数据 在这种情况下,您将编写另一个操作,以接收该响应并向调度器发送。然后,调度器将其发送到适当的存储,该存储将向所有侦听的组件发出更改。当存储发出时,它将“刷新整个组件树”(假设您有存储侦听器和状态侦听这些更改) 这只是一种流量方式,允许您没有回调树——这是一种糟糕的做法