嘿伙計們,我正在使用 redux/toolkit,我如何更新用戶,雖然它在后端更新并保存,但我得到了一個錯誤?
我嘗試使用直接放入 onsubmit,它可以作業,但我感到不舒服,因為它會使代碼變得混亂。
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

uj5u.com熱心網友回復:
undefined由于拼寫錯誤,您很可能只是在這里派送。
應該是updateSuccess,不是updatenSuccess
還有,dispatch(updatenFailure)應該dispatch(updatenFailure())
話雖如此,你在這里手寫了很多已經是 RTK 一部分的東西——無論是形式createAsyncThunk還是RTK Query. 我強烈建議您在撰寫更多代碼之前閱讀完整的官方 Redux 教程并學習這些概念。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/514817.html
標籤:反应粗鲁梅尔redux 工具包
上一篇:從特定頁面隱藏按鈕
下一篇:將道具傳遞給給定組件的道具反應
