亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

React-Intl:帶數組的 I18n

React-Intl:帶數組的 I18n

HUX布斯 2022-07-08 18:03:17
我目前正在開發一個從兩個 json 文件(de.json 和 en.json)中讀取數據的網站?,F在還有一個頁面,我需要根據選擇的語言從英語數組或德語數組中讀取數據(每個數組當前都是一個簡單的 js 文件,其中只有數組,它只是被導入我需要讀取其數據的文件)。它現在的工作方式是我檢查語言環境是否為英語,然后使用該數組,但是該解決方案并不干凈。const ResourcesMedia = [    {        title: 'sometitle',        description: 'somedescription',        href: 'somelink'    },    {        title: 'sometitle',        description: 'somedescription',        href: 'somelink'    }  ]export default ResourcesMedia;還有另一個類似的數組僅適用于德語版本?,F在根據選擇的語言,我正在映射數組并創建組件。但是,目前我正在檢查語言環境是這樣的:const mediaArray = locale === 'en' ? ResourcesMediaEn : ResourcesMedia這不是最好的方法,而是我想將數組存儲在 en.json 和 de.json 文件(或兩個新文件)中,讓 IntlProvider 決定它應該使用哪個。有沒有用 React-Intl 做到這一點的好方法,還是我需要以其他方式實現它?
查看完整描述

1 回答

?
慕姐4208626

TA貢獻1852條經驗 獲得超7個贊

您可以創建一個數組,其中數組中的值是鍵而不是實際字符串,并且在渲染它們時,您可以實際翻譯這些


const ResourcesMedia = [

    {

        title: 'sometitleKey',

        description: 'somedescriptionKey',

        href: 'somelink'

    },

    {

        title: 'sometitleKey1',

        description: 'somedescriptionKey',

        href: 'somelink'

    }

  ]



render() {

   const {intl: {formatMessage: t}} = this.props;

   return ResourcesMedia.map(item => (

       <div>

          <div>{t(item.title)</div>

          <div>{t(item.description)</div>

       <div>


   ))

}


查看完整回答
反對 回復 2022-07-08
  • 1 回答
  • 0 關注
  • 203 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號