应该存储在reactjs flux中调用操作吗?

时间:2015-05-30 20:41:19

标签: reactjs reactjs-flux flux

我当前的reactjs / flux实现是让组件调用操作,并且操作调用web api然后将漏斗返回到商店。

我有一组复选框,其中复选框的状态在商店中进行管理,但每次更新复选框时,我都希望使用商店的状态向服务器进行查询。我现在被迫做的是在单击复选框时调用复选复选框存储的操作,在复选框存储中,将变量设置为“queryServer”,然后在复选框组件中,选中“queryServer”并再次执行操作查询服务器。

如果组件和存储都可以进行操作调用似乎更简单,这样,当我更新复选框存储时,我可以启动操作直接查询服务器而不设置愚蠢的“queryServer”变量并让组件检查

虽然它确实使事情变得更简单,但它似乎再次成为了通道架构的本质,其中所有操作都是从视图中启动的。

1 个答案:

答案 0 :(得分:1)

我的方法是将商店的状态提取到视图中,然后将其传递给某个动作。这将使您的商店尽可能保持愚蠢,只需在进入应用程序时接收数据。

更具体地说,您的商店将有一个getData函数,用于返回存储的原始数据。在您的组件中,复选框的单击处理程序将包含如下所示的代码:

var data = MyStore.getData();
MyActions.queryServer(data);

然后,您的操作将进行API调用(因为它可能是执行异步操作的最安全的地方)并通过调度程序将新数据传递到您的商店。