老师我发现 redux-saga 对于action好像说拦截不准确
来源:6-9 Redux-saga中间件入门(2)
非同凡想之人
2019-10-06
我觉得更像是捕获,我测试的方式是这样的:
1、首先定义一个actionType 叫做 INCREMENT ;
2、然后我在saga里面takeEvery(‘INCREMENT’,increment);
3、最后reducer里面也加上 INCREMENT 这个actionType。
我发现,点击按钮触发 INCREMENT 的时候,即使saga里的increment函数不put这个事件,reducer还是可以收到的。所以我感觉正确的用法是,首先在saga里面 takeEvery(‘SAGA_INCREMENT’,increment); 获取到数据之后,再put到 reducer 里面一个 INCREMENT。也就是说,两个actionType 不能一样。我感觉这个很奇怪,毕竟是middleware,既然中间件不通过,后者的那一层应该收不到了才对。
如图,如果sagas.js 里的actionType类型和reducer里面的一样了,那么这个action即使saga不put出去,reducer还是会收到。
由于找不到老师对应课程的代码,只能发到这里请教了。
写回答
1回答
-
action会同时被saga和reducer接受,不是saga接受后传给reducer的
212019-10-07
相似问题