这个减速机看起来不错吗?为什么作者使用了let users;
,这对我来说是不必要的。在FETCH_USER_FULLFILLED情况下会导致2个用户吗?
const initalState = {
users: [],
loading: false,
error: null,
};
// REDCUER
function usersReducer(state = initalState, action) {
let users;
switch (action.type) {
case 'FETCH_USER_PENDING':
return { ...state, loading: true };
case 'FETCH_USER_FULFILLED':
users = action.payload.data.results;
return { ...state, loading: false, users };
case 'FETCH_USER_REJECTED':
return { ...state, loading: false, error: `${action.payload.message}` };
default:
return state;
}
}
export default usersReducer;
答案 0 :(得分:0)
reducer很好,它不会导致FETCH_USER_FULLFILLED
中的两个用户。但是,你是对的,不需要let users;
。所以代码看起来像
case 'FETCH_USER_FULFILLED':
return { ...state, loading: false, users: action.payload.data.results };
当reducer首次执行时,它将从initalState
开始,因为如果没有传递param,它将是默认值。因此,users
在开头将为空数组,并将在FETCH_USER_FULLFILLED
操作
修改 users
已添加以利用ES6中的属性value shorthand功能