通过减少不必要的代码来改进Flux架构

时间:2015-03-31 14:24:53

标签: javascript reactjs flux

在我们的代码库中,我们最近将许多React组件迁移到纯通量架构。因此,我们的数据流看起来几乎与Facebook团队提供的图像完全一样: Flux data flow

我们遇到的一个问题是,调用服务器并获得结果需要很多样板代码。过程如下:

  1. View会将名为GET_DATA_FROM_SERVER之类的操作传播给动作创建者(假设称为ViewActionCreator)。
  2. ViewActionCreator调度此操作,在大多数情况下没有有效负载,然后调用api.retrieveData
  3. 从服务器接收数据后,api.retrieveData将调度一个操作,在这种情况下称为SERVER_DATA_RECEIVED,并将检索到的数据作为有效负载。
  4. 商店响应分派的两个动作。但是,在大多数情况下,商店只为第二个操作(SERVER_DATA_RECEIVED)执行某些操作,因为我们发现乐观视图更新,除了一些例外,例如登录,通常不需要或非常有帮助。
  5. 因此,我的问题是,是否有任何理由我们不应该直接调用api的方法,并且这些api方法只在数据接收时调度操作?

    我们遇到的另一个相关问题是使用https://github.com/STRML/keyMirror生成的常量。我们反复遇到一个错误,我们忘记添加一个在动作创建器中使用的常量并存储到我们的常量文件中,但是直到运行时才会显示,因为我们的商店使用switch语句来测试他们从哪个动作接收到调度程序,当我们使用未定义的常量时,这只是简单地渗透到switch语句的末尾。

0 个答案:

没有答案