2017-08-22 10 views
0

yahoo/react-intlに問題があります。文字列型でメッセージを作成したいのですが、FormattedMessageを使用しているときにメッセージがスパンで囲まれていますクール。 私はformatMessageを試しましたが、それも動作しません。 私は任意のヘルプのために非常に感謝するか、助言する、これは私のコードです:あなたは、あなたがformatMessage機能を使用することができ、自分でintlコンテキストを注入することを考えるとリアクションintlでスパンでラップしないでメッセージを作る方法

import React from 'react'; 
import {FormattedMessage} from 'react-intl'; 
export default { 
    items: [ 
     { 
      name: <FormattedMessage id='app.dashboard'/>, 
      url: '/dashboard', 
      icon: 'icon-speedometer', 
      badge: { 
       variant: 'info', 
       text: 'New', 
      }, 
     }, 
     { 
      title: true, 
      name: <FormattedMessage id='app.dashboard'/>, 
      // optional wrapper object 
      wrapper: { 
       // required valid HTML5 element tag 
       element: 'strong', 
       // optional valid JS object with JS API naming ex: { className: "my-class", style: { fontFamily: "Verdana" }, id: "my-id"} 
       attributes: {}, 
      }, 
      // optional class names space delimited list for title item ex: "text-center" 
      class: '',`enter code here` 
     }, 
+0

もう少し詳細なコードを追加できますか? –

+0

BEJGAM SHIVA PRASADは私のコードを見ていますが、それは私のデータがスパンでラップされていて、私はそれとformatMessageがうまくいきませんでした... –

答えて

1

。例えば

、あなたのケースで:

items: [ 
    { 
    name: intl.formatMessage({id:'app.dashboard'}); 
    } 
] 

次の2つの選択肢を持っているあなたのコンポーネントでintlを取得するには:

  1. コンポーネントのコンテキストでそれを得るために
  2. 使用injectIntlからそれを得ますあなたの小道具。

あなたがコンポーネントでない場合、それは少し難しくなりますが、私はちょうどnameに代わりにフォーマットされたメッセージのidを配置し、使用可能な場合に反応-intlのコンテキストを使用します。ここでは、このアイテムのリストを消費して表示するコンポーネントです。

関連する問題