【问题标题】:issue with onNavigate in react-big-calendar it's re-render the calendar every time i use next or backreact-big-calendar 中的 onNavigate 问题,每次我使用 next 或 back 时都会重新渲染日历
【发布时间】:2021-09-02 16:21:00
【问题描述】:

我使用 react-big-calendar 并且我想获取使用导航的日期(下一个,后退), 每次我使用它时,它都会重新渲染当前月份的日历。这是我的代码有什么问题

  const [selectedMonth, setSelectedMonth] = useState<string>();


 const getStartAndEndDate = (date: Date) => {
  const firstDay = moment(new Date(date.getFullYear(), date.getMonth(), 1)).format('YYYY-MM-DD');
  const lastDay = moment(new Date(date.getFullYear(), date.getMonth() + 1, 0)).format('YYYY-MM-DD');

  const fullMonth = firstDay + '_' + lastDay;
  return fullMonth;
};

 const onNavigate = useCallback((date: Date) => {
    const fullMonth = getStartAndEndDate(date);
    setSelectedMonth(fullMonth);
  }, []);

return(
<Calendar
          localizer={localizer}
          events={events}
          views={['month', 'agenda']}
          onNavigate={onNavigate}
          startAccessor="start"
          endAccessor="end"
          style={{ height: '600px', width: '100%' }}/>
)

【问题讨论】:

    标签: javascript reactjs typescript react-big-calendar


    【解决方案1】:

    我找到了解决办法,

    我正在检查请求是否正在加载,因此每次 isLoading =true 时,组件都会重新渲染。

    【讨论】:

      猜你喜欢
      • 2021-01-21
      • 2022-12-21
      • 1970-01-01
      • 1970-01-01
      • 2023-04-04
      • 1970-01-01
      • 1970-01-01
      • 2019-03-16
      • 1970-01-01
      相关资源
      最近更新 更多