React/Alt -在响应用户输入时避免在调度内调度
React/Alt - avoid dispatching within a dispatch when responding to user input?
我有一个接受用户输入的组件。当它们保存时,我使用一个动作来更新存储的状态
为了响应这个新信息,结果组件需要运行一个异步操作,然后在新信息返回时进行响应。
无论我怎么尝试,我似乎都留下了一个hack setTimeout
或调度中的调度错误。
异步操作是通过数据源定义的,并且有自己的存储,如下所示。组织这种行为的正确方法是什么?
- 用户输入被输入组件接收。
- 输入组件使用一个动作来更新一个商店的状态
- 当前,存储试图启动输出组件所需的异步操作 在这一点上,我的选择似乎是调度与调度错误或涉及
setTimeout
的黑客解决方案。感觉都不对。我错过了什么?
忽略有关数据源的示例。禁止在商店使用registerAsync
。
相反,使用操作来执行异步行为并让结果更新存储。在您给出的示例中,从输入组件执行此操作:
Action1.updateStore()
AsyncAction2.run()
然后,使用存储监视AsyncAction2
操作来更新和通知结果组件。
如果你确定你想在那个点调度,只是想避免得到"调度中的调度"错误,你可以使用alt的.defer方法(参见:http://alt.js.org/docs/actions/)。
相关文章:
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 可以't让我的if语句处理js中的html表单输入
- 名称输入的索引
- 如何编写HTML输入的JS内联
- 要求输入在数据列表中
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 让文本输入幻灯片显示输入时的新文本输入?然后向后滑动
- 如何将输入(type=text)从html表单传递到javascript函数
- 单击jquery清除输入值
- 而循环只设置php中输入字段中的第一个值
- 在输入字段中将最小金额设置为
- jQuery自定义验证比较多个输入的序列
- Sails.js:同时发布文本输入和一个文件
- 使用javascript检查多个输入值,并在1次检查中标记多个输入框
- 如何在输入字段中的按钮的帮助下打开日历,该字段的类型为“=”;日期”;
- 使用jquery在单击时在单元格中输入值
- Ajax文件加载和<输入>文件加载
- React/Alt -在响应用户输入时避免在调度内调度
- 余烬事件调度不工作的输入元素
- 打开新的空白窗口,添加输入元素,然后向不工作的元素调度单击事件