redux-saga笔记

75 阅读1分钟

saga:「集中式 、统一语法处理异步派发」,处理流程首先派发行为标识和reducer都和之前一样的,但是没有action,在创建store的时候,引入createsagamiddleware,并且需要在同级目录下创建一个saga.js监听器,监听派发任务用于,最后创建完store需要用.run启动一些这个监听器

image.png

在saga.js中,需要用generator函数,判断派发的行为标识是否是需要异步派发的那种,并且还有特殊处理,如果是异步的,在组件中派发的时候标识不能和action-type中一样,否则,初始就会直接进行一次派发,相当于多一次派发了,所以需要自己设定一个不同的行为标识,然后在判断到该行为标识存在的时候,执行一个自己写好的generator方法「这个方法中参数可以获取到组件派发传递的payload」在派发「通过put派发」和action-type中相同的行为标识,进行处理「这种情况是异步派发的时候」,如果是同步派发,则只需要在组件中直接派发和action-types相同的标识就可以

image.png

image.png