Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs React Big Calendar:通过状态错误呈现事件_Reactjs_Events_Calendar_State - Fatal编程技术网

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