我正在使用 React v15.4,react-intl v2.2.3
在我的 /lang/en.json 中:
{
"greeting": "Hello, World!"
}
Run Code Online (Sandbox Code Playgroud)
而我的 /pages/about.js :
import React from 'react'
import {FormattedMessage} from 'react-intl'
import pageWithIntl from '../components/PageWithIntl'
import Layout from '../components/Layout'
export default pageWithIntl(({intl}) => (
<Layout>
<h1 className="page-title">About Page</h1>
<p>
<FormattedMessage id='greeting' defaultMessage='Hello, World!' />
</p>
</Layout>
))
Run Code Online (Sandbox Code Playgroud)
当我加载页面时,“你好,世界!” - 文本正确显示。但在控制台中我得到
[React Intl] 缺少语言环境的语言环境数据:“未定义”。使用默认语言环境:“en”作为后备。
当我重新加载页面时。如何添加缺少的语言环境数据?
小智 7
你应该把你的主要组件(通常它命名为<App/ >)包装到<IntlProvider>中间件中并设置localeprop。
<IntlProvider locale='en'>
<App/ >
</ IntlProvider>
Run Code Online (Sandbox Code Playgroud)
或 React 自动设置locale: 'en'并向您发出警告
[React Intl] 缺少语言环境的语言环境数据:“未定义”。使用默认语言环境:“en”作为后备。
| 归档时间: |
|
| 查看次数: |
5456 次 |
| 最近记录: |