【问题标题】:Redux saga: Calling an action in loopRedux 传奇:循环调用动作
【发布时间】:2020-04-14 15:49:36
【问题描述】:

我有一个网格,它订阅了一些主题。我有一个带有主题名称的数组。 所以在gridInitialSaga,我想订阅所有主题并使其成为这样:

function* gridInitialSaga() {
  
  //code here
  
  //subscribe to every topic
  yield all(topics.map(topic => put(subscribeToTopic(topic))))

  //code here
}

topics - 包含主题名称的数组

subscribeToTopic - 我对后端的简单操作

当代码运行时,我收到错误:TypeError: Cannot define property @@redux-saga/SAGA_ACTION, object is not extensible at line with topic subscription.

可能是什么问题?

【问题讨论】:

  • 在这里尝试使用fork 而不是put
  • 获取TypeError: Cannot read property 'apply' of undefined
  • 显示subscribeToTopic的内容
  • 我无法显示原始动作,但它是相同的topic => ({ type: SUBSCRIBE_TO_TOPIC, meta: { id: getUID(), subscribe: {topic}, }, }) 我在其他地方使用此动作并且效果很好,没有问题

标签: reactjs redux middleware redux-saga


【解决方案1】:

问题是我使用选择器获得的topics 数组,它可以被修改。 我解决了这样的问题yield all([...topics].map(topic => put(subscribeToTopic(topic))))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-04
    • 2021-05-16
    • 1970-01-01
    • 1970-01-01
    • 2019-03-03
    • 2018-07-08
    • 1970-01-01
    • 2016-12-11
    相关资源
    最近更新 更多