我目前正在阅读Flux Async示例的源代码,该示例使用Flow和Immutable js库:
Todo记录的定义让我感到困惑。代码首先声明一个Todo类(来自Flow doc,这似乎用作接口,但是这个文件没有放在这个例子的flow /目录中,这相当于flow-typed /目录,如Flow doc)。但是,有一个Todo变量的重新绑定,重新绑定是一个新的Immutable Record类。我不明白第一类声明块的目的
declare class Todo {
id: string;
complete: boolean;
text: string;
constructor(data: {
id: string;
complete: boolean;
text: string;
}): void;
set(key: 'id', value: string): Todo;
set(key: 'complete', value: boolean): Todo;
set(key: 'text', value: string): Todo;
}
有人可以解释这种模式及其目的是什么?是否可以安全地假设此界面仅适用于Flow而已?
答案 0 :(得分:0)
在这个示例应用中,您所看到的确实是Flux的数据模型概念。
您可以从这些文档中了解一下Flux中的存储和持久性: http://facebook.github.io/flux/docs/in-depth-overview.html#stores
关于Flux对Flux与MVC和双向与单向的解释有很多讨论 - 但我想你已经读过这个,这就是你在探索Flux的原因。
补充阅读:
https://codeutopia.net/blog/2016/02/01/react-application-data-flow-where-and-how-to-store-your-data/