2016-11-18 2 views
1

Похоже, мой редуктор не обновляет магазин. Любая идея, почему это произойдет?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 

    } 
} 

ответ

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'})); 
+0

Не ваш код по существу то же самое, что и мое - просто используя более краткую версию Object.assign? – Sam

+0

Да обновил ответ – mshameer