几个月前,我遇到了一个 Flux,我发现它很棒,我喜欢它,我使用它.. 几乎在每个新项目中,当我遇到 redux 时,我更加喜欢它,但是几天前 Pete Hunt 发布了一条推文,其中他判断人们对一切都使用助焊剂。而且我认为它有一个完美的意义,但另一方面我不明白......他发布了另一条推文解释通量的案例,我还阅读了一篇关于通量用例的文章。长话短说 - “如果您的应用没有复杂的数据更改和缓存,请不要使用它。但如果有,我强烈建议您尝试使用 Flux。” 为什么我应该使用通量对我来说完全有道理,但我不清楚如果我没有复杂的数据更改,为什么我不应该这样做。
在文章丹点中,当您在实际项目中遇到这些问题(助焊剂解决)时,您可以更容易理解助焊剂的好处,但正是这个(因为我在工作项目中遇到了这些问题)现在我尝试在每个项目中使用通量,因为我不想再处理它了。
疯狂的部分,现在我也经常将它用于 ui 状态,而不仅仅是数据更改。假设我可以拥有一个小部件组件,例如时钟。它可以进行一些 ui 更改,例如显示/隐藏秒数,在数字/模拟之间切换,并且它具有白天类型状态(白天/夜晚),并且可以在事件发生更改时调度事件,但其他组件会监听它并可以做出反应,例如更改背景颜色。我可以通过本地组件状态和容器(智能组件)状态轻松解决它,但就像我可以将所有这些逻辑放入存储(减速器)中一样,组件将真正被转储并仅对当前状态(道具)和容器做出反应(智能)只听组件之间的存储和分区状态。如果它看起来还不错,指出我可以将它用于每个 ui 状态 - 打开/关闭侧边栏,一些特定的组件更改等。
我能做到的原因:
- 它看起来对我来说是可以预测的。我完全知道我的应用程序中发生的任何更改都在一个地方提供。
- 很容易调试。我可以只记录所有操作,如果我遇到一些错误,我可以很容易地找到发生的事情并重现它。
- 我可以轻松地扩展我的应用程序而不必担心,我应该将某些东西移动到通量状态,因为我已经做到了。
但我也同意它看起来不堪重负,我可以不用助焊剂来解决它,但我不能回答我,为什么我不应该在这些情况下使用助焊剂。它有什么问题?请帮我。