[英]send post and get request on click using NEXT JS
單擊同一個按鈕時,我需要發布並獲取我的數據[例如寫入和顯示評論],但是當我單擊按鈕時一切正常,但是帶有 304 狀態代碼的請求正在無限循環運行,有人可以幫忙嗎?
const addCommentHandler = (commentData) => {
axios({
url: `/api/comment/${eventId}`,
method: "post",
data: commentData,
headers: {
"Content-type": "application/json",
},
}).then((res) => {
const data = res.data;
console.log(data);
});
axios({
url: `/api/comment/${eventId}`,
method: "get",
}).then((res) => {
const data = res.data;
setComments(data.comments);
});
};
useEffect(() => {
addCommentHandler();
}, []);
似乎您想發布數據然后想要獲得更新的評論。但是您正在創建兩個異步 Api 調用..
304 狀態碼的意思是“請求的資源自上次訪問以來沒有被修改過”
請刷新緩存並重試..
const addCommentHandler = async (commentData) => {
// add Try Catch for Errors..
const responseData = await axios({
url: `/api/comment/${eventId}`,
method: "post",
data: commentData,
headers: {
"Content-type": "application/json",
},
})
const resData = await axios({
url: `/api/comment/${eventId}`,
method: "get",
})
setComments(resData.data.comments);
};
useEffect(() => {
// Pass CommentData as Params in addCommentHandler
addCommentHandler();
}, []);`
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.