为什么我的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,
});
控制台:更新工资: - 未定义
谢谢。
答案 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; }