2017-05-30 24 views
0

私はreact-intlreact-helmetを使用しています!と私は翻訳のテキストとしてヘルメットにメタの説明を渡そうとしているが、それは可能ではないようだ!ここでReact-intlを変数として使用できますか?

は私がやったことです:

<Helmet 
    meta={[{ name: 'description', content: { id: 'homepage.description'} }]} 
    link={[{ rel: 'icon', href: 'favicon/favicon-32x32.png' }]} 
/> 

homepage.descriptionlang/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' }]} 
      /> 
    ); 
} 

このことさえ可能ならば?またはこのベストプラクティスの代替手段が存在していますか?あなたがinjectIntl​​を使用する場合は、事前

答えて

1

おかげではい、それは、あなたが翻訳された文字列を取得し、必要なときにはいつでも使用することができます。この方法が可能です:

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); 
+0

それは正常に動作します:+1 –

関連する問題