React Intl предоставляет компонент FormattedMessage для форматирования строк, чисел и дат прямо в твоём JSX:
<FormattedMessage
id={'account'}
defaultMessage={'The amount is less than minimum balance.'}
/>
Этот способ идеален, когда тебе нужно встроенное форматирование внутри логики рендеринга и ты хочешь, чтобы React управлял отформатированным контентом как компонентом.
Библиотека также предлагает программный API с функцией formatMessage. Сначала определи свои сообщения с помощью defineMessages:
const messages = defineMessages({
accountMessage: {
id: 'account',
defaultMessage: 'The amount is less than minimum balance.'
}
})
Потом используй formatMessage для получения отформатированной строки:
formatMessage(messages.accountMessage)
Этот способ пригодится, когда тебе нужны отформатированные строки как значения, а не компоненты — например, в колбэках, всплывающих подсказках или когда ты передаёшь строки в другие функции.
defineMessages обеспечивает типобезопасность и улучшает поддерживаемость кода, централизуя определения сообщенийОба подхода поддерживают одинаковые возможности форматирования строк, чисел и дат, так что выбирай исходя из своего конкретного случая.
Компонент FormattedMessage возвращает простую строку, которую можно напрямую присваивать переменным, что делает его подходящим для использования в колбэках функций и всплывающих подсказках.
Новый — ещё не проверен сообществом
Вы