小编Ada*_*son的帖子

如何使用Redux解决AJAX调用以响应状态更改?

我正在将现有的状态模型转换为Redux,并且它在大多数情况下都是无痛的.然而,我遇到麻烦的一点是转换"观察"状态ajax请求.基本上,我有一些ajax请求"链接"到其他状态,所以无论谁修改它们,它们总是会被正确发出.我可以通过订阅Redux商店更新来获得类似的行为,但是在侦听器中触发操作感觉就像是黑客.

一种可能的解决方案是通过thunk模式将逻辑移动到动作创建器.问题是,我要么必须重复读取整个行动的逻辑(因为多个行动可以"观察"的状态修改),或拉最减速逻辑的行动创造者的水平.动作创建者也不应该知道减速器将如何响应已发布的动作.

我可以批量"的子行动",所以我只需要把相应的取逻辑中的每个动作"块",但这似乎是违反了生产的有效状态的操作概念.我宁愿在行动创造者层面承担这个责任.

是否有任何普遍接受的规则?这不是一个简单的应用程序,在组件与之交互时进行ad hoc ajax请求,大多数数据在多个组件之间共享,并且请求被优化并获取以响应状态更改.

TLDR; 我想触发ajax请求以响应状态的变化,而不是在特定动作发生时.除了在订阅侦听器中触发这些操作之外,是否有更好的"Redux特定"方式来组织action/actionCreators来模拟此行为?

architecture ajax state asynchronous redux

13
推荐指数
2
解决办法
4601
查看次数

标签 统计

ajax ×1

architecture ×1

asynchronous ×1

redux ×1

state ×1