Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.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
Javascript 截取完整日历视图更改操作以进行api调用_Javascript_Reactjs_Fullcalendar_Fullcalendar 4 - Fatal编程技术网

Javascript 截取完整日历视图更改操作以进行api调用

Javascript 截取完整日历视图更改操作以进行api调用,javascript,reactjs,fullcalendar,fullcalendar-4,Javascript,Reactjs,Fullcalendar,Fullcalendar 4,我正在用ReactJS开发一个自定义日历作为基础 问题陈述: 当用户单击标题按钮以更改日历(日、周、月)的视图时,我需要执行一个api调用来获取事件 当前状态: 我正在使用dayGridPlugin和timeGridPlugin 事件存储在reducer状态,并传递到calendar 我所尝试的: 回调方法viewSkeletonRender以触发api调用和获取事件。这些事件值存储到reducer中。这会导致无限api调用,因为正在调用事件呈现方法 我正在尝试找出是否有任何回调事件可以触发ap

我正在用ReactJS开发一个自定义日历作为基础

问题陈述:


  • 当用户单击标题按钮以更改日历(日、周、月)的视图时,我需要执行一个api调用来获取事件
  • 当前状态:

  • 我正在使用dayGridPlugin和timeGridPlugin
  • 事件存储在reducer状态,并传递到calendar
  • 我所尝试的:

    回调方法viewSkeletonRender以触发api调用和获取事件。这些事件值存储到reducer中。这会导致无限api调用,因为正在调用事件呈现方法


    我正在尝试找出是否有任何回调事件可以触发api调用。

    “当用户单击标题按钮以更改日历视图时,我需要执行api调用以获取事件”…为什么?我想不出一个好的理由需要这么做。如果实现了动态事件提要(例如,使用或技术,则fullCalendar将在需要时自动从数据源获取新事件。@ADyson您是正确的。但是,我需要新的api调用,因为我正在按需要获取数据。因此,如果我是在日查看,则我的api调用仅将选定日期作为输入参数,对于周和月,则需要开始日期和结束日期。这也是动态事件提要的工作方式。在JSON提要技术的情况下,fullCalendar将自动将正确的开始和结束日期作为查询参数附加到请求中(如果尚未添加,请参阅我提供的文档链接)。它将自动向服务器发出新请求(使用正确的日期)只要它没有任何数据显示更改视图所需的日期范围。(对于函数技术,回调中提供了开始/结束日期,以便您可以将它们附加到自定义请求中)。(实际上,这比您的建议要稍微有效一些,因为有时数据已经存在,并且不需要新的API请求。例如,如果用户在月视图中查看一月,而他们更改为“天”查看1月6日,则在加载月视图时,1月6日的数据已经下载,因此不需要新的请求。同样,如果用户移动到2月,然后移回1月,则不会要求再次下载1月的数据(尽管如果愿意,可以覆盖此行为))@ADyson谢谢你这么简单的解释。因此,据我所知,正确的方法是使用一个API调用,该调用使用日期并对所有视图产生相同的响应。但是,对于不同的视图,我有不同的API。请告诉我这种方法是否错误。