【问题标题】:Redux reducer not updating state objectRedux reducer 不更新状态对象
【发布时间】:2016-08-24 11:35:24
【问题描述】:

我有以下代码,我正在尝试更新状态,但它不起作用。

import Immutable from 'immutable';
import _un  from 'underscore';
import { List, Map } from 'immutable'; 

const defaultState = Map({
  isFetching:true,
  deparments: List(),
  products:List(),
  breadcrumb:List()
})

我正在使用 set,但是当我在返回之前进行控制台时,它只会打印原始对象。我做错了什么?

switch(action.type) {
     case 'GET_GALLERY_DATA':

      //console.log("-- api success handler--");
      //console.log(action);

       var depts = getGalleryParsedData(action.res.data);
       var products = getProducts(action.res.data);
       var breadcrumb = getBreadcrumbs(action.res.data);

      state.set('isFetching', true);
      state.set('deparments', List(depts))
      state.set('products', List(products))
      //state.set('breadcrumb', List(breadcrumb))

     console.log("---state----");
     console.log(state);
      return state;

【问题讨论】:

    标签: javascript reactjs redux


    【解决方案1】:

    Immutable.js 不会改变您的状态,它会返回原始对象的变异副本。

    state = state.set('isFetching', true);
    state = state.set('deparments', List(depts));
    state = state.set('products', List(products));
    

    state = state
      .set('isFetching', true)
      .set('deparments', List(depts))
      .set('products', List(products));
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-23
    • 2019-07-28
    • 2018-08-04
    • 2020-10-21
    • 2021-01-08
    • 2019-05-07
    • 2019-07-18
    • 2020-10-12
    相关资源
    最近更新 更多