嘿,伙计们,我正在使用redux/工具包,我如何更新用户,虽然它更新并保存在后端,但我得到了一个错误?
我试着使用在提交时直接放入,它起作用了,但我感觉不舒服,因为它会使代码混乱.
Https://localhost/api/users/:id
这个可以用,但我想使用REDUX和API调用
提交按钮
const onSubmit = async ({username, email, studentid}) => {
let user = {username, email ,studentid}
updateUser(id, user,dispatch)
}
Apicalls.js
export const updateUser = async (id,user, dispatch) =>{
dispatch(updateStart())
try {
const res = await publicRequest.put(`/users/${id}`, user)
console.log(res.data)
dispatch(updatenSuccess(res.data))
} catch (error) {
dispatch(updatenFailure)
}
}
AuthSlice.js
export const authSlice = createSlice({
name: 'auth',
initialState: {
currentUser: null,
isFetching : false,
isError: false,
isSuccess: false,
},
reducers: {
updateStart: (state)=>{
state.isFetching = true;
state.isError = false;
},
updateSuccess: (state, action) =>{
state.isFetching = true;
state.isSuccess = true;
state.currentUser = action.payload
},
updateFailure: (state) =>{
state.isFetching = false;
state.isError = true;
},
}
})
export const {rupdateStart, updatenSuccess, updatenFailure} = authSlice.actions;
export default authSlice.reducer