我是个新手。最近几天,我一直在阅读Alt.js和flux架构。有几个概念我不能理解。从一个组件中,我们访问、存储和获取数据。如果是服务器端请求,我们有异步数据源,它通过this.registerAsync()绑定到存储。向服务器发出的任何POST或GET请求都写入Data Source文件中,并在存储中处理响应。那么,操作的必要性是什么呢?我认为操作文件只是一个虚拟文件,它无用地连接源代码和存储,或者组件和存储。相反,我们不能移除action并直接从源代码或组件发送响应到store吗?
发布于 2017-03-27 20:55:12
我们个人使用了NuclearJS (另一个与您使用的类似的flux实现),并在很长一段时间内都有同样的问题。
这不是必须的事情。例如,Redux没有actions。
在使用NuclearJS构建了一个大型应用程序之后,我们有了关于如何使用操作的内部规则,并且我们发现它们非常有用。假设您有一个表单,在其更改时,您将获取新记录并更新存储中的记录列表,更新表单值,还将更改isLoading状态,直到我们通过新记录完全更新列表为止。在这里,您可以创建一个为上面的每个更新调度3次的操作。
此外,对于只调度其相应存储的操作,我们添加了一个包装器api,只要操作是'delegateToStore‘字符串(而不是函数),api就会直接调用存储,我们只需在操作中编写'delegateToStore'。
最后,除非你的应用程序足够复杂,否则你甚至不需要商店,我建议你从像redux这样更简单的flux库开始,随着你的应用程序变得更加复杂(Facebook scale!),逐步转向复杂的解决方案(如relay等)。很复杂。
https://stackoverflow.com/questions/43045559
复制相似问题