使用RTK Query结合try/catch时出现error对象未定义问题求助
问题:获取服务器错误响应时展示对象为undefined
我在尝试获取服务器错误响应时,发现要展示的对象为undefined。当执行console.log(registerResponse)时,控制台会输出两次日志——第一次是空对象,第二次是带属性的对象。
基础查询方法
export const accountSlice = apiSlice.injectEndpoints({ endpoints: builder => ({ login: builder.mutation({ query: credentials => ({ url: 'account/login', method: 'POST', body: { ...credentials }, }) }), register: builder.mutation({ query: credentials => ({ url: 'account/register', method: 'POST', body: { ...credentials }, }) }) }) })
注册页提交处理逻辑
const [register, { isLoading, isError }] = useRegisterMutation(); const handleSubmit = async (e) => { e.preventDefault(); try { const result = await register({ name, nickName, email, password }).unwrap(); setRegisterResponse(result); } catch (error) { setRegisterResponse(error); } }
错误展示逻辑
{ isError && <h2> 哎呀,出问题了: { console.log(registerRespnse) } </h2> }
注:控制台会输出两次日志,第一次为空对象,第二次为带属性的对象。
内容的提问来源于stack exchange,提问作者dasper
相关产品推荐
相关产品推荐

