我有以下代码,我正在尝试更新状态,但它不起作用。
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;
最佳答案
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));
关于javascript - Redux reducer 不更新状态对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39113878/