reactjs - 在 saga 和 redux 中发送相同的事件到达顺序
问题描述
情况1
说我dispatch({type: TEST_EVENT})
在 UI 中useEffect
,我的 saga 和 reducer 都在听同一个事件。谁会先得到它。
案例2
说我dispatch({type: TEST_EVENT})
在 UI 中用useEffect
saga 听,然后在 saga 中我做yield put({type: 'TEST_EVENT_1'}
,然后 reducer(如果正在听TEST_EVENT_1
)将能够接收它。有人可以证实这一点吗?
解决方案
案例 1:从redux-saga
中间件源代码中,我们知道 saga 和 reducer 是否都在监听相同的动作类型。减速器将首先获得动作。
案例2:推荐的工作流程是:dispatch SOME_EVENT
action => watcher saga => worker saga => 做某事(调用API、计算等)=> dispatch SOME_EVENT_FULFILLED
/ SOME_EVENT_REJECTED
action to reducer。
推荐阅读
- sql - 如何在 Access 中过滤具有部分字符串匹配的查询
- unreal-engine4 - 像部落冲突/繁荣海滩这样的建筑系统
- android - 带有多个片段的 Android 版 Appium
- c# - 如何禁用长路径文件夹上的 ACL 继承?
- jakarta-ee - 使用 /META-INF/resources 时,WEB-INF 去哪里了?
- ruby-on-rails - 如何将对象从 REST POST 输出转换为数组
- c++ - 如何在插入过程中更改插入的值?
- r - 找出每个月末和r中最大值日期之间的天数
- angular - 更改嵌套的可观察值
- javascript - SAPUI5 将图表导出为 xlsx 文件