Привет, ребята, я использую redux/toolkit, как я могу обновить пользователя, хотя он обновляет и сохраняет на бэкэнде, я получаю сообщение об ошибке?
Я пробовал использовать прямой ввод onsubmit, это работает, но я чувствую себя некомфортно, так как это сделает код беспорядочным.
https://localhost/api/users/:id
это работает, но я хотел бы использовать избыточность и вызовы 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.info(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





Скорее всего, вы просто отправляете undefined сюда из-за опечатки.
должно быть updateSuccess, а не updatenSuccess
также dispatch(updatenFailure) должно быть dispatch(updatenFailure())
При этом вы пишете здесь от руки много всего, что уже является частью RTK — либо в виде createAsyncThunk, либо в виде RTK Query. Я настоятельно рекомендую вам пройти полное официальное руководство по Redux и изучить эти концепции, прежде чем писать больше кода.