You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 12:01:05