Redux:从reducer返回的新值未在State中更新

时间:2017-12-29 17:30:56

标签: reactjs redux

在初始加载期间,reducer返回的值将更新。 但返回的后续值未在状态中更新。

在reducer代码下面,connectToTradeServer是一个使axios调用另一个站点并获取数据的函数。

export default (state = [{"_id":"helkjdflj"}], action) => {
    switch (action.type) {
        case TRADE_LIST_UPDATED: {
            connectToTradeServer((err, res) => {
               if (err) {
                    return state;
                } else {
                   return res;
               }
            });
    }
    default: return state;
  }
}

我在这里做错了什么? 提前谢谢。

1 个答案:

答案 0 :(得分:1)

Redux的减速器本质上是一个同步功能。你在里面有异步操作。 connectToTradeServer内的redux-thunk语句不执行任何操作。我建议您检查redux-sagaTRADE_LIST_UPDATED项目,了解如何处理异步操作。

同样在return情况下,您不会library(dplyr) df <- tibble(country = c('United States', 'United States', 'Austria', 'Austria', 'United States'), haveworkedlang = c('Swift', 'Python', 'JavaScript', 'JavaScript', 'Swift')) df %>% group_by(haveworkedlang) %>% summarize(n()) 。最后,每个reducer调用都会返回初始状态。