这个好像不难,在provider外面包下,然后做些polyfill的工作就好
现在就可以和 react-intl 配合使用,因为 app.start() 返回的是一个 React Component,可以给他外面套一层 IntlProvider,然后给 ReactDOM 渲染。
比如:
import { IntlProvider } from 'react-intl';
import ReactDOM from 'react-dom';
import dva from 'dva';
const app = dva();
app.model();
app.router();
const App = app.start();
ReactDOM.render(<IntlProvider><App /></IntlProvider>, htmlElement);
真是棒极了
just a small remark of above code:
htmlElement = document.GetElementById('root');
To use antd LocaleProvider:
...
import { LocaleProvider } from 'antd';
import enUS from 'antd/lib/locale-provider/en_US';
import ReactDOM from 'react-dom';
...
const App = app.start();
ReactDOM.render(<LocaleProvider locale={enUS}><App /></LocaleProvider>,
document.getElementById('root'));
这样的话,浏览器其它地方国际化了,但是title标签还是没有国际化,有什么办法统一处理
这样处理了之后 会导致 App 下挂的组件 不能进行热加载 。。。。。
现在就可以和 react-intl 配合使用,因为
app.start()返回的是一个 React Component,可以给他外面套一层 IntlProvider,然后给 ReactDOM 渲染。比如:
import { IntlProvider } from 'react-intl'; import ReactDOM from 'react-dom'; import dva from 'dva'; const app = dva(); app.model(); app.router(); const App = app.start(); ReactDOM.render(<IntlProvider><App /></IntlProvider>, htmlElement);
这样是可以将语言传到子组件了,但是切换语言的操作这里怎么感知呢,我的切换操作是在header组件中进行的
现在就可以和 react-intl 配合使用,因为
app.start()返回的是一个 React Component,可以给他外面套一层 IntlProvider,然后给 ReactDOM 渲染。
比如:import { IntlProvider } from 'react-intl'; import ReactDOM from 'react-dom'; import dva from 'dva'; const app = dva(); app.model(); app.router(); const App = app.start(); ReactDOM.render(<IntlProvider><App /></IntlProvider>, htmlElement);这样是可以将语言传到子组件了,但是切换语言的操作这里怎么感知呢,我的切换操作是在header组件中进行的
同问如何切换语言,老哥找到方案了吗
Most helpful comment
just a small remark of above code:
htmlElement = document.GetElementById('root');To use antd LocaleProvider: