我是新来的反应。几天以来,我一直在阅读 Alt.js 和 Flux 架构。很少有我无法理解的概念。我们从一个组件访问存储并获取数据。如果是服务器端请求,我们有异步数据源,它通过 this.registerAsync() 绑定到存储。对服务器发出的任何 POST 或 GET 请求都写入数据源文件,并在存储中处理响应。那么操作的必要性是什么?我认为操作文件只是一个虚拟文件,它无用地连接源和存储或组件和存储。而是我们不能删除操作并直接从源或组件向存储发送响应吗?
问问题
160 次
1 回答
0
我们个人使用了 NuclearJS(另一种与您使用的类似的通量实现)并且长期以来一直有同样的问题。
这不是必要的事情。Redux 没有actions
例如。
在使用 NuclearJS 构建了一个大型应用程序之后,我们有一个关于如何使用动作的内部规则,我们发现它们非常有用。想象一下,您有一个表单,在其更改时您将获取新记录并更新存储中的记录列表,更新表单值并更改 isLoading 状态,直到我们通过新记录完全更新列表。在这里,您可以为上述每个更新创建一个分派 3 次的操作。
同样对于仅调度其相应存储的操作,我们添加了一个包装器 api,只要一个操作是一个“delegateToStore”字符串(不是函数),该 api 就会直接调用存储,我们只需写入'delegateToStore'
我们的操作。
最后,除非您的应用程序足够复杂,否则您甚至不需要商店,我建议您从像 redux 这样的库之类更简单的通量开始,然后随着您的应用程序变得越来越多(Facebook 规模)逐渐转向复杂的解决方案(例如中继等) !) 复杂。
于 2017-03-27T12:55:11.607 回答