CoderPrince 2020-03-15 10:28 采纳率: 100%
浏览 862
已结题

redux-saga使用takeEvery监听的action被不停的触发?

我的需求是页面点击按钮触发一个action,saga的takeEvery监听到action被触发后调用wordFlow方法,wordFlow方法内先延迟3秒,然后再使用put触发该action。延迟是为了模拟网络请求。

现在的效果是,当页面点击按钮触发action后,该action被立即触发了一次,之后每隔3秒都会再次被触发。陷入无限循环。

弄了2天实在不知道是什么原因,请求各位大佬看看,代码不多。下面是全部代码:

1、Home.js页面触发了Action:
图片说明

2、被注册到store里的saga中间件监听到:
图片说明

3、saga文件执行3秒延迟后触发action:
图片说明

4、reducer接收到action,改变state,让count +1:
图片说明

5、最后的APP.js文件也放上来吧。是把store丢到Provider里去了,这里没啥好说的。
图片说明

全部代码都在这里了,求大佬帮忙找找原因。为啥action会被不停的执行?

  • 写回答

1条回答 默认 最新

  • zeroOneJJ 2020-04-24 11:23
    关注

    你的?takeEvery里面和你去触发的wordflow里面NUM_ASYNC不要同名 触发的换个名字

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 安装svn网络有问题怎么办
  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 latex怎么处理论文引理引用参考文献