Redux:store.getState返回未定义的值

时间:2018-03-11 13:14:53

标签: reactjs redux react-redux

为什么我的store.getState返回未定义的值!我对ReactJS& Redux在这里我的代码

import {createStore} from 'redux';

const initialState = {
salary: 1000,
}

const reducer = (state=initialState, action) => {
switch (action.type) {
    case "ADD":
        state = {
            salary: state.salary+=action.payload,
        }
        break;

    default:
        break;
}
}

const store = createStore(reducer);

store.subscribe(() => {
console.log('Update salary: ', store.getState.salary);
})

store.dispatch({
type: "ADD",
payload: 2000,
});

控制台:更新工资: - 未定义

谢谢。

3 个答案:

答案 0 :(得分:1)

getState是一种方法,称之为

console.log('Update salary: ', store.getState().salary);

你甚至应该修理你的减速机

case "ADD":
   return {salary: state.salary + action.payload}

它必须返回新状态,你不返回任何东西

答案 1 :(得分:1)

您不应该像case "ADD"中那样直接修改状态。 而是返回一个新的状态。 使用代码

case "ADD":
    return {
        salary: state.salary+=action.payload
    }

还可以使用store.getState().salary来检索数据。

这会奏效。 我希望它有所帮助。

答案 2 :(得分:0)

通过返回状态值解决了问题!

switch (action.type) { 
case "ADD": 

return { salary: state.salary+= action.payload } 
break; 

default: break; } 
相关问题