Usando date-fns, estoy tratando de agregar varias configuraciones regionales en mi aplicación, antes de tener una sola configuración regional, por lo que la importación fue simplemente así:
import {fr as locale} from 'date-fns/locale'; import {format} from 'date-fns'Y estaba usando la configuración regional de la siguiente manera en el componente:
<DateSingleInput dayLabelFormat={(date) => format(date, 'dd', {locale})} />Pero ahora tengo 3 configuraciones regionales, fr, en y es, obtengo estas configuraciones regionales del archivo html como accesorios. He actualizado la importación de esta manera:
import {fr, en, nl} from 'date-fns/locale';Y en el componente hice este cambio para poder obtener la configuración regional actual, el fr es el idioma predeterminado:
<DateSingleInput dayLabelFormat={(date) => format(date, 'dd', this.props.locale ? this.props.locale : 'fr')} />¿Qué estoy haciendo mal?
Después de muchos intentos, noté que necesito mencionar la ubicación actual en la función de formato, por ejemplo, cuando agrego fr o nl o fr funciona, aquí está el código:
<DateSingleInput dayLabelFormat={(date) => format(date, 'dd', { locale : fr })} />Pero cuando coloco los accesorios o una función para colocar la configuración regional perfecta, aparece un error RangeError: la configuración regional debe contener la propiedad de localización
<DateSingleInput dayLabelFormat={(date) => format(date, 'dd', { locale : this.props.locale ? this.props.locale : 'fr' })} />Creo que la función de formato no acepta su cadena local predeterminada 'fr' ya que el parámetro no es lo que espera la función. Si imprime cualquier configuración regional que haya importado, verá que esas configuraciones regionales son objetos y no solo una cadena. Si elimina las comillas simples en el parámetro alternativo 'fr' y usa la configuración regional fr importada como un objeto, ¡esto funcionará!