【发布时间】:2022-01-23 14:19:21
【问题描述】:
我有这个 useEffect 它有一个 get 函数和一个名为 sentchat 的函数,它有一个 axios.post 方法来发布一些数据我通过 post 方法发布的数据是在 useffect 方法 axios get 中获取的,但我必须重新加载页面才能看到发布的数据我希望它自动发生
function sentchat(e) {
e.preventDefault();
const config = {
headers: {
Authorization: `token ` + localStorage.getItem("token"),
},
};
const data = { receiver: props.id, message: inputField };
axios
.post("messages/send-message/", data, config)
.then((res) => {
console.log(res.receiverDetails);
})
.catch((error) => {
console.log(error);
});
}
useEffect(() => {
const config = {
headers: {
Authorization: `token ` + localStorage.getItem("token"),
},
};
axios
.get("messages/get-all-messages/?receiver=" + props.id, config)
.then((res) => {
console.log(res.receiverDetails);
setdata(res.data.receiverDetails);
setMessage(res.data.messages);
});
}, [props.id]);
【问题讨论】:
-
发帖成功后,您可以执行 sendchat 函数中 useEffect 中的代码。最好把代码放到一个函数中,你可以像函数 fetchData() {...} 一样重用它。然后在 useEffect(()=>{fetchData()},[]) 和 sendchat 函数中调用函数
标签: reactjs