SOu*_*dil 1 reactjs react-intl react-helmet
我正在使用react-intl和react-helmet!我正在尝试将元描述作为翻译文本传递给Helmet,但似乎不可能!
这是我所做的:
<Helmet
meta={[{ name: 'description', content: { id: 'homepage.description'} }]}
link={[{ rel: 'icon', href: 'favicon/favicon-32x32.png' }]}
/>
Run Code Online (Sandbox Code Playgroud)
这homepage.description是关于的文字lang/en/en.json。
我猜如果翻译可以被抓取并用作变量,那么它就很容易使用,我将这样做:
render() {
const description = formatMessage({ id: 'homepage.description', values: {country: 'Morocco'} });
return (
<Helmet
title={pageTitle}
meta={[{ name: 'description', content: {{description}} }]}
link={[{ rel: 'icon', href: 'favicon/favicon-32x32.png' }]}
/>
);
}
Run Code Online (Sandbox Code Playgroud)
如果可能的话?还是请问有没有其他替代方法或最佳实践?
提前致谢
是的,如果使用injectIntl是可能的,这样您就可以获取转换后的字符串并在需要时使用:
import {injectIntl} from 'react-intl';
...
render() {
const intl = this.props.intl;
const description = intl.formatMessage({ id: 'homepage.description', values: {country: 'Morocco'} });
return (
<Helmet
title={pageTitle}
meta={[{ name: 'description', content: {{description}} }]}
link={[{ rel: 'icon', href: 'favicon/favicon-32x32.png' }]}
/>
);
}
...
export default injectIntl(YourComponent);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1924 次 |
| 最近记录: |