react.js中适当的操作类型是什么?

时间:2014-12-08 19:53:21

标签: reactjs reactjs-flux

在Flux示例中,我注意到的两种动作类型是视图动作&服务器动作。从大型应用程序的角度来看,还有其他任何需要关注的操作类型吗?我只想到适当的模式来长期使用。

https://github.com/facebook/flux/tree/master/examples

2 个答案:

答案 0 :(得分:3)

行动只是行动。如果您在从服务器获取当前用户时使用了某个操作,则还可以在其他时间创建该操作(例如从本地存储中获取用户等)。

两个最常见的事件来源是来自UI和服务器,但是您也可以在计时器(setInterval)或全局事件处理程序(例如窗口调整大小)或第三方上触发操作从任何来源获得它的图书馆。

也许更好的词汇和'行动'在变化中将是一个意图'。它实际上并没有自己做任何事情,它只是暗示要做的事情;调度员调度意图,商店可以根据意图做某事(即采取行动)。

"查看行动&服务器动作"要么太具体,要么太模糊。您应该认为所有行为都是平等的(我的个人观点),或者认为有数百种行动类型。

  

我只考虑长期使用的适当模式。

我不太清楚分类操作如何影响您使用的模式。对操作进行分组更多的是您希望通常将哪些模块暴露给哪些模块。例如,ChatServerActionCreators仅由utils / ChatWebAPIUtils使用。这是一个封装问题,而不是相关功能的分组。

答案 1 :(得分:2)

  

谢谢,我想我也间接地问为什么这些事件来源   存在。

此外,在Facebook论坛上有来自FB的Bill Fisher回复this discussion

  

问:todo-list示例提到了一个可能的handleServerAction   除了handleViewAction之外 - 有人可以给出一些颜色   您可能希望以不同于视图操作的方式处理服务器操作?   我猜测通过轮询,套接字或者触发服务器操作   一些外部事件,但有一个常见的案例/例子   有用的检查两种类型的行动?这里好奇,   因为没有明显的跳出来(即标记一个项目作为最喜欢的   应该触发相同的代码路径,无论它来自何处。)

     

答:就服务器操作与视图操作而言,我认为是这样   更常见的是检测视图操作并对其采取不同的操作。对于   例如,您可能只想在数据到来时运行验证   来自用户输入,而不是服务器初始化。我离开了   只是为了表明你可以用有效载荷做任何你想做的事情,   可以有这种结构提供围绕的元数据   动作,允许您将不同的动作组合在一起   你需要的目的。您不必使用这些handleViewAction或   handleServerAction或handleServerInitializationAction(etc)方法,   但我发现它偶尔会有用。