我尝试从一个axios post方法中获取数据。我可以只使用axios来获取它。我不明白为什么使用react-query useMutation控制台日志的响应数据是未定义的。
api/index.js
export const postCreateMeetingId = async (token) => {
await axios.post('http://localhost:3001/create-meeting/', {token:`${token}`}, {
headers: {
"Content-Type": "application/json",
authorization: `${token}`,
},
})
.then((res) => {
console.log(res.data) //successfully got the data here
return res.data
})
}
pages/meetingRoom.js
var token='my token is here'
export default function MeetingRoom(){
const {mutate, data} = useMutation(postCreateMeetingId, {
onSuccess: async (res) => {
console.log(res) //undefined
console.log(data) //undefined
}
})
const getMeetingAndToken = async () => {
return mutate(token)
}
return(
<div>
<button onClick={getMeetingAndToken}>get</button>
</div>
);
}
我想知道如何使用useMutation获取响应数据,这样我就可以将此数据发送到另一个post API。
1条答案
按热度按时间ezykj2lf1#
postCreateMeetingId
没有返回任何内容。您使用axios.post
创建了一个Promise,并且您await
了它,但是您没有返回它。函数中async / await
和.then()
的混合不必要地使事情复杂化了: