2017-07-28 83 views
0

我有很多的功能是這樣的:使用功能反應JS國際化

export function dialogContent() { 
    const { t, i18n } = this.props; 

    switch (this.state.dialogHandlerVariable) { 
     //Delete changeLog 
     case 0: 
      return (<div> {t("dialog.dashboard.changelog.deleteChangelog.body")}</div>); 
    } 
} 

但在這裏我得到了一個錯誤。 - > t不是一個功能..

因爲這是缺少:

export default compose(
    translate('translations'), 
    connect() 
)(LanguageChooser); 

我怎麼可以添加翻譯(「翻譯」)部分的功能?

感謝

+0

如果您使用'dialogContent'作爲組件,它就是**無狀態**。因此,沒有'國家',''等' –

+0

問題是,我需要這部分'translate('翻譯'),'在我的功能 – Felix

+0

然後只需添加:)。你如何使用'dialogContent'? –

回答

2

的翻譯特別是只需要組件 - >它斷言組件才能得到重新呈現在翻譯變化,或者設置成組件等待翻譯文件前的初始渲染加載。

使用i18next函數裏面,只是:

import i18n from '../i18n'; // assuming you got a i18n instance configured and exported like in the samples - else just import i18n from 'i18next'; 

export function dialogContent() { 
    const t = i18n.t; 

    switch (this.state.dialogHandlerVariable) { 
     //Delete changeLog 
     case 0: 
      return (<div> {t("dialog.dashboard.changelog.deleteChangelog.body")}</div>); 
    } 
} 

只要確保你調用你的函數之前加載的翻譯。