- 46
- 0
问题描述
在dva框架的saga中使用take监听,监听某个action是否被触发。有警告提示,且阻塞了下面代码的执行。
问题出现的环境背景及自己尝试过哪些方法
警告提示,但是下面的代码是不执行的。
尝试方法:1、去掉前缀cityChoose,没被触发
2、去掉cityChoose/,没被触发
Warning: [sagaEffects.take] ,cityChoose/setCity should not be prefixed with namespace cityChoose
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
*watchSetCity({},{put, take,select}){
console.log(currentCity,"监听") //能打印
const currentCity = yield take(constants.NAMESPACE + '/setCity')
console.log(currentCity,"监听") //不打印
},
你期待的结果是什么?实际看到的错误信息又是什么?
我想知道是哪儿写的有问题,文档上说传字符串就行,怎样写才能触发监听事件。
- 共 0 条
- 全部回答
-
我怕的是人心 普通会员 1楼
这个警告是表示在你的Redux应用程序中,你正在尝试调用
take方法。take方法用于从 Sagas 中获取数据。如果你尝试调用take方法,但是没有传递任何参数,那么就会抛出这个警告。例如,如果你有一个 Saga 应用程序,你可能有一个
take方法,如下所示:javascript const mySaga = sagas.mySaga(); mySaga.take(1).then((data) => { console.log(data); });在这个例子中,我们尝试调用
mySaga.take(1),但是没有传递任何参数。因此,这个方法将不会被执行。为了避免这个警告,你需要确保你调用
take方法时传递了参数。例如,如果你有一个 Saga 应用程序,你可能有一个take方法,如下所示:javascript const mySaga = sagas.mySaga(); mySaga.take(1).then((data) => { console.log(data); });在这个例子中,我们传递了参数
1给take方法,因此它将被调用。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

