了解 Flux Facebook 试图解决的问题
Posted
技术标签:
【中文标题】了解 Flux Facebook 试图解决的问题【英文标题】:Understanding what Flux Facebook is trying to solve 【发布时间】:2015-02-19 14:08:15 【问题描述】:刚刚看了this YouTube video。
Jing 在这里给出了 ghost 新消息计数问题的示例,以及他们如何使用 Flux 修复它。什么具体的一系列事件会导致这样的问题?由于多线程环境,这是一个问题吗?抛开更简单的代码结构不谈,像 Web 浏览器 javascript 这样的单线程环境中是否需要 Flux 类型的架构?
【问题讨论】:
infoq.com/articles/no-more-mvc-frameworks 【参考方案1】:我也有类似的疑问,为什么一个人需要 Flux,尤其是在单线程语言中。我发现this 有一个特别的问题来救我。
这里的重点不是单线程或多线程。这里的重点是模型和视图之间的绑定使用控制器是双向的。所以引起关注的是 model 可以更新 view 反过来又可以更新 model 这在图中的大 MVC 图中描绘视频。
缺点
视频中传达的主要缺点是,随着独立模型和视图数量的增加,很难调试独立模型和视图之间的双向关系。
视频中显示的示例聊天示例说明了当他们尝试添加与聊天模块交互的不同独立视图时,每个视图的交互如何变得越来越复杂。
助阵营救
Flux 试图通过打破模型和视图之间的双向关系来解决上述问题,以便视图中的每个操作都转到 更新 的调度程序> 完成处理时更新视图的模型/数据存储。
人们可以注意到,由于数据流是从模型到视图(单向)而不是相反,因此代码更容易理解、调试和管理。
【讨论】:
以上是关于了解 Flux Facebook 试图解决的问题的主要内容,如果未能解决你的问题,请参考以下文章
在 Flux 中,一个 React 组件中的操作影响另一个组件的适当方式是啥?
Facebook Flux todomvc 教程 - 由于 package.json 文件,无法启动简单的节点 http-server