我当前的reactjs / flux实现是让组件调用操作,并且操作调用web api然后将漏斗返回到商店。
我有一组复选框,其中复选框的状态在商店中进行管理,但每次更新复选框时,我都希望使用商店的状态向服务器进行查询。我现在被迫做的是在单击复选框时调用复选复选框存储的操作,在复选框存储中,将变量设置为“queryServer”,然后在复选框组件中,选中“queryServer”并再次执行操作查询服务器。
如果组件和存储都可以进行操作调用似乎更简单,这样,当我更新复选框存储时,我可以启动操作直接查询服务器而不设置愚蠢的“queryServer”变量并让组件检查
虽然它确实使事情变得更简单,但它似乎再次成为了通道架构的本质,其中所有操作都是从视图中启动的。
答案 0 :(得分:1)
我的方法是将商店的状态提取到视图中,然后将其传递给某个动作。这将使您的商店尽可能保持愚蠢,只需在进入应用程序时接收数据。
更具体地说,您的商店将有一个getData
函数,用于返回存储的原始数据。在您的组件中,复选框的单击处理程序将包含如下所示的代码:
var data = MyStore.getData();
MyActions.queryServer(data);
然后,您的操作将进行API调用(因为它可能是执行异步操作的最安全的地方)并通过调度程序将新数据传递到您的商店。