刚刚看了这个 YouTube 视频。
Jing 在这里给出了 ghost 新消息计数问题的示例,以及他们如何使用 Flux 修复它。什么具体的一系列事件会导致这样的问题?由于多线程环境,这是一个问题吗?撇开更简单的代码结构不谈,像 Web 浏览器 Javascript 这样的单线程环境中是否需要 Flux 类型的架构?
刚刚看了这个 YouTube 视频。
Jing 在这里给出了 ghost 新消息计数问题的示例,以及他们如何使用 Flux 修复它。什么具体的一系列事件会导致这样的问题?由于多线程环境,这是一个问题吗?撇开更简单的代码结构不谈,像 Web 浏览器 Javascript 这样的单线程环境中是否需要 Flux 类型的架构?
对于为什么一个人需要flux,尤其是在单线程语言中,我也有类似的疑问。我发现这个特殊的问题帮了我大忙。
这里的重点不是单线程或多线程。这里的重点是模型和视图之间的绑定使用控制器是双向的。所以引起关注的是模型可以更新视图,而视图又可以更新视频中的大 MVC 图中描述的模型。
缺点
视频中传达的主要缺点是,随着独立模型和视图数量的增加,很难调试独立模型和视图之间的双向关系。
视频中显示的示例聊天示例说明了当他们尝试添加与聊天模块交互的不同独立视图时,每个视图的交互如何变得越来越复杂。
助焊剂救援
Flux 试图通过打破模型和视图之间的双向关系来解决上述问题,以便视图中的每个操作都转到更新模型/数据存储的调度程序,该调度程序在完成处理时更新视图。
可以注意到,由于数据流是从模型到视图(单向),而不是相反,代码更容易理解、调试和管理。