Как вы передаете параметр для defineMessages в реагировать-intl? - PullRequest
0 голосов
/ 11 мая 2018

У меня есть сообщение об ошибке, подобное приведенному ниже:

Could not retrieve data: ${e}

Как мне преобразовать это в определенное сообщение, которое может принять этот параметр ошибки?

Стандартное определенное сообщение:

    const messages = defineMessages({
     dataError: {
         id: 'data.error',
         defaultMessage: 'Could not retrieve data: [default message]'
     }
   })

Спасибо!

Ответы [ 2 ]

0 голосов
/ 12 мая 2018

необходимо заменить [default message] на {e} в defineMessages

const messages = defineMessages({
  dataError: {
    id: 'data.error',
    defaultMessage: 'Could not retrieve data: {e}'
  }
})

Определить переменную сообщения

 const message = "Error Message";

Передать переменную сообщенияв отформатированном сообщении

 <FormattedMessage
          {...messages.dataError}
          values={{ e: `${message}` }}
 />

Out Вставьте ниже

<span>Could not retrieve data: Error Message</span>

Надеюсь, это поможет вам.

0 голосов
/ 11 мая 2018

Если я вас правильно понял, вот так:

const messages = defineMessages({
  dataError: {
    id: 'data.error',
    defaultMessage: 'Could not retrieve data: {message}'
  }
})

<FormattedMessage
  {...messages.dataError}
  values={{message: `Could not retrieve data: ${e}`}}
/>
...