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不要同名 触发的换个名字

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

报告相同问题?

悬赏问题

  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 C#调用python代码(python带有库)
  • ¥15 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能
  • ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面