Flux架构中的控制器视图是什么?

时间:2015-10-27 10:59:10

标签: reactjs reactjs-flux flux

我看到Flux架构和React项目经常提及的术语。

据我了解,这是一种设计模式,但我无法在网上找到一个好的描述。

2 个答案:

答案 0 :(得分:5)

“控制器 - 视图”的概念确实抵消了我的开始。

我能找到的最佳“定义”是:https://facebook.github.io/flux/docs/todo-list.html#listening-to-changes-with-a-controller-view

  

我们需要在组件层次结构顶部附近的React组件来监听商店中的更改。在一个更大的应用程序中,我们将拥有更多这些监听组件,可能对于页面的每个部分都有一个。在Facebook的广告制作工具中,我们有许多类似控制器的视图,每个视图都管理用户界面的特定部分。

我们的解释是,只要您拥有一个大的组件层次结构,就不希望每个组件都听取可能影响它的每个更改。而是选择一个顶级/父级组件来监听更改,然后通过props将更改后的值传播给其子级。这些孩子将根据道具变化的要求重新渲染。 该顶级组件成为层次结构的“控制器”。

答案 1 :(得分:2)

控制器视图让我感到困惑。毫无疑问,这有助于解释反应设计。但它假设读者知道/熟悉MVC设计模式(我不是,因此让我更加困惑)。

"控制器视图"旨在表明React组件实际上是" controller"和"查看"在 MVC 模型 - 视图 - 控制器术语中定义,其中:

  • 模型是您保存,构建和管理数据的地方
  • View是可见UI组件树(HTML和东西)
  • 控制器介于视图和模型之间,通过从模型中提取数据并将其传递给视图,并通过在视图中侦听用户输入并将其传递给模型

在反应中,您的组件不仅充当控制器,还定义视图的结构(渲染中组件的结构+组件树的结构)。

如果你还使用助焊剂反应:助焊剂储存量相当于MVC中的模型。