Reactjs React Big Calendar:通过状态错误呈现事件
当我通过单击日期或添加事件按钮添加事件时,事件通过状态呈现。添加两个事件后,当我添加一个事件时,状态落后一步。因此,我必须刷新要呈现的事件的页面,或者当我添加上一个事件呈现的另一个事件时(也适用于编辑和删除)。有办法解决这个问题吗Reactjs React Big Calendar:通过状态错误呈现事件,reactjs,events,calendar,state,Reactjs,Events,Calendar,State,当我通过单击日期或添加事件按钮添加事件时,事件通过状态呈现。添加两个事件后,当我添加一个事件时,状态落后一步。因此,我必须刷新要呈现的事件的页面,或者当我添加上一个事件呈现的另一个事件时(也适用于编辑和删除)。有办法解决这个问题吗 //Gets all events useEffect(() => { const bkg = localStorage.getItem("calendarClass") || "";
//Gets all events
useEffect(() => {
const bkg = localStorage.getItem("calendarClass") || "";
setCalClassState(bkg);
API.getEvent()
.then(({ data }) => {
renderEvents(data);
}).catch(err => console.log(err));
}, []);
function getEvents() {
API.getEvent()
.then(({ data }) => {
renderEvents(data);
}).catch(err => console.log(err));
};
//Render events to calendar
function renderEvents(appointments) {
console.log('---', appointments);
for (var i = 0; i < appointments.length; i++) {
appointments[i].start = new Date(appointments[i].startDate);
appointments[i].end = new Date(appointments[i].endDate);
}
setEventState(appointments)
};
async function handleSubmit(e) {
e.preventDefault();
console.log("handle submit clicked")
// setShowEventModal(false)
await API.addEvent({
title: titleState,
startDate: startDate,
endDate: endDate,
startTime: startTime,
endTime: endTime,
notes: noteState,
userId: userId
})
getEvents();
console.log('Submit clicked')
handleEventModalClose();
handleDayModalClose();
};
//获取所有事件
useffect(()=>{
const bkg=localStorage.getItem(“calendarClass”)| |“”;
setCalClassState(bkg);
API.getEvent()
。然后({data})=>{
渲染(数据);
}).catch(err=>console.log(err));
}, []);
函数getEvents(){
API.getEvent()
。然后({data})=>{
渲染(数据);
}).catch(err=>console.log(err));
};
//将事件呈现到日历
功能展示(预约){
console.log('--',约会);
对于(var i=0;i