繁体   English   中英

无法从 axios 发布请求响应中解构数据

[英]Can't destructure data from axios post request response

所以我正在制作一个简单的 CRUD 应用程序,试图让自己熟悉 redux。 基本上我正在从表单传输数据并向服务器发送发布请求以创建新的博客文章(或多或少)。 这是 onSubmit 的代码:

const handleSubmit = (e) => {
        e.preventDefault()
        dispatch(createPost(postData));
    }

这是正在调度的操作以及错误的来源(src/actions/posts.js):

export const createPost = (post) => async (dispatch) => {
    try 
    {
        const { data } = await api.createPost(post);
        dispatch({ type: "CREATE", payload: data});
    } 
    catch (error) 
    {
        console.log(error.message);
    }
}

此 function 无法从 api 的响应中解构数据,因为响应未定义。 下面是从 src/api/index.js 发送请求的代码:

export const createPost = (newPost) => {
   axios.post(url, newPost);
}

当我使用.then() console.log 来自这个 function 的响应时,它返回 201 以及对成功请求的期望。 所以响应返回 201 并且条目被添加到数据库中,但是我的操作 function 无法从响应中解构数据,因为它是未定义的。 我的愚蠢错误是什么?

您没有从 function 返回值。 尝试

export const createPost = (newPost) => {
    return axios.post(url, newPost);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM