我有一个我创建的https://github.com/markortiz905/emp-app的git代码库
我一直在练习reactjs,并想学习redux-thunk,一开始有点简单,但我也不能理解它在路由上是如何工作的。
我的调查让我认为,由于路由,从服务器获取的数据不会触发更新组件?
如果任何人有时间看一下我的存储库,它只有几个文件和代码,简单地获取empmloyee并显示在视图中
下面是我的reducer.js代码片段
const initStates = {
employees: [],
loading: true
};
function rootReducer(state = initStates, action) {
console.log(state.employees);
if (action.type == UPDATE_EMPLOYEES) {
state.employees = action.payload;
} else if (action.type == LOADING) {
state.loading = action.payload;
}
//means something happen bad
return state;
}发布于 2020-05-04 08:37:02
我刚刚发现哪里错了,似乎我从一开始就做错了,在我的reducer脚本中这是错误的,我正在从const变量更新员工,但const不能被更新,对吗?一旦使用const为变量赋值,就不能将其重新赋值为新值。来源-
const initStates = {
employees: [],
loading: true
};
function rootReducer(state = initStates, action) {
console.log(state.employees);
if (action.type == UPDATE_EMPLOYEES) {
state.employees = action.payload;
} else if (action.type == LOADING) {
state.loading = action.payload;
}
//means something happen bad
return state;
}我更改了reducer以返回新对象。
function rootReducer(state = initStates, action) {
switch (action.type) {
case UPDATE_EMPLOYEES_STARTED:
return {
...state,
loading: true,
employees: null,
};
case UPDATE_EMPLOYEES:
return {
...state,
loading: false,
error: null,
employees: action.payload,
};
case UPDATE_EMPLOYEES_ENDED:
return {
...state,
loading: false,
employees: [...state.employees],
};
default:
return state;
}
}https://stackoverflow.com/questions/61573601
复制相似问题