Reducer不会更新商店

时间:2016-11-18 01:06:58

标签: reactjs

看起来我的reducer没有更新商店。知道为什么会发生这种情况吗?

import 'babel-polyfill'

const initialState = {
    user: {
        name: 'Username', 
        Avatar: '/img/default/avatar.png'
    },
    friendsList: []
}

export default (state = initialState, action) => {

    switch (action.type) {


        case 'setUserInfo' : 
            // If I console.log action.user here, I see that I'm getting good user data
            return Object.assign({}, state, {
                user: action.user
            })
        default: return state

    }
}

1 个答案:

答案 0 :(得分:0)

你的减速机没有任何问题,它将更新状态并返回正确的状态。

请确保您有以下代码。

创建像这样的动作创建者

var updateUser = function (user) {
    return {
        type: 'setUserInfo',
        user: user
    }
}

创建导入缩减器的商店

import { createStore } from 'redux'
import userReducer from 'your reducerfile'
let store = createStore(userReducer)

您必须通过

发送操作
store.dispatch(updateUser({name: 'some', Avatar: '/image/some'}));