在 react-intl 中使用 <FormattedDate> 中的命名格式

Using named formats in <FormattedDate> in react-intl

我在使用 react-intl 时尝试使用命名格式,但我无法让它工作。根据我的研究,我认为这应该是一个最小的例子:

import React from 'react';
import ReactDOM from 'react-dom';
import { IntlProvider, FormattedDate } from 'react-intl';

const Testy = (props) => (
    <FormattedDate
        value={ props.myDate }
        format='year-only'
      />
 )

const app = (
  <IntlProvider formats={{ date: { 'year-only': { year: 'numeric' } } }}>
    <Testy myDate={ "2010/10/01" }/>
  </IntlProvider>
)

ReactDOM.render(app, document.getElementById('App'));

但是,在运行时出现错误:[React Intl] No date format named: year-only

我做错了什么?

确保并在 IntlProvider 上设置 'locale' 属性:https://github.com/yahoo/react-intl/wiki/Components#intlprovider

该错误消息显然有点肤浅,但了解您的语言环境是一般本地化的基本方面:)