fix: optimization calendar render performance

This commit is contained in:
janlay 2021-09-22 09:58:37 +08:00
parent 894ab6b9c3
commit 8f408f9050
2 changed files with 3 additions and 2 deletions

View File

@ -2,6 +2,7 @@ import React, { ReactChild } from "react";
import { ViewMode } from "../../types/public-types";
import { TopPartOfCalendar } from "./top-part-of-calendar";
import {
getCachedDateTimeFormat,
getDaysInMonth,
getLocaleMonth,
getWeekNumberISO8601,
@ -177,7 +178,7 @@ export const Calendar: React.FC<CalendarProps> = ({
const dates = dateSetup.dates;
for (let i = 0; i < dates.length; i++) {
const date = dates[i];
const bottomValue = Intl.DateTimeFormat(locale, {
const bottomValue = getCachedDateTimeFormat(locale, {
hour: "numeric",
}).format(date);

View File

@ -12,7 +12,7 @@ type DateHelperScales =
| "millisecond";
const intlDTCache = {};
const getCachedDateTimeFormat = (locString: string | string[], opts: DateTimeFormatOptions = {}): DateTimeFormat => {
export const getCachedDateTimeFormat = (locString: string | string[], opts: DateTimeFormatOptions = {}): DateTimeFormat => {
const key = JSON.stringify([locString, opts]);
let dtf = intlDTCache[key];
if (!dtf) {