Javascript React Admin DateField,DateInput locale全局

Javascript React Admin DateField,DateInput locale全局,javascript,reactjs,localization,react-admin,Javascript,Reactjs,Localization,React Admin,React admin允许您在使用日期字段和日期输入时在组件上设置日期区域设置 <DateField source="publication_date" locales="fr-FR" /> // renders the record { id: 1234, publication_date: new Date('2017-04-23') } as <span>23/04/2017</span> //将记录{id:1234,发布日期:新日期('2017-0

React admin允许您在使用
日期字段
日期输入
时在组件上设置日期区域设置

<DateField source="publication_date" locales="fr-FR" />
// renders the record { id: 1234, publication_date: new Date('2017-04-23') } as
<span>23/04/2017</span>

//将记录{id:1234,发布日期:新日期('2017-04-23')}呈现为
23/04/2017
但大多数时候,我们不需要在组件上设置它,而是需要全局配置它。有没有一种方法可以在全球范围内进行设置

我尝试设置i18n提供程序的默认
locale
,但看起来它只用于翻译,不用于日期格式


此外,我还尝试重写了
Date.toLocaleDateString()
,但效果不佳。

您可以使用useLocale钩子,它返回react admin的i18nProvider当前语言环境,默认为“en”

假设这是一个显示视图:

import { useLocale } from 'react-admin'

export const ResourceShow = props => {

    const locale = useLocale()

    return (
        <Show {...props}>
            <SimpleShowLayout>
                <DateField source="publication_date" locales={locale} />
            </SimpleShowLayout>
        </Show>
    )
}
顺便说一句,我同意默认情况下应该考虑使用i18nProvider语言环境

Date.prototype.toLocaleDateString = customFunc