【发布时间】:2018-02-09 23:26:38
【问题描述】:
所以我有一个从 API 获取的操作。
我从我的 API 中获取用户,它返回 JSON 并返回用户的操作和 json 值以及进度值。
fetchUser: (userId) => {
return dispatch => {
dispatch({ type: Constants.USER_FETCHING });
let url = 'http://localhost:4001/api/v1/users/'+ userId;
axios.get(url)
.then(function(data) {
console.log('data returned is ' + JSON.stringify(data));
dispatch({
type: Constants.GET_USER,
user: data.user,
progress: data.progress,
});
});
};
},
现在在我的减速器中,我必须返回状态而不改变它:
import Constants from '../constants';
const initialState = {
users: [],
user: null,
progress: null,
fetching: false,
};
const users = (state = initialState, action) => {
case Constants.USER_FETCHING:
return {...state, fetching: true};
switch (action.type) {
case Constants.GET_USER:
return ?????;
default:
return state;
}
};
export default users;
我应该如何返回状态?
我看到了使用 Object.assign 的示例,但不确定如何为我的案例构建它:
return Object.assign({}, state, ????);
【问题讨论】: