我尝试使用formattedMesage(react intl)使用格式化API。如何用复数创建一个格式的信息?现在:
const outputTimeOutValues = [
{value:'00:00:01', translationId:'passage.outputTimeOut.oneSecond'},
{value: '00:00:03', translationId:'passage.outputTimeOut.threeSeconds'},
{value: '00:00:05', translationId: 'passage.outputTimeOut.fiveSeconds'},
{value: '00:00:10', translationId: 'passage.outputTimeOut.tenSeconds'},
{value: '00:00:15', translationId: 'passage.outputTimeOut.fifteenSeconds'},
{value: '00:00:30', translationId: 'passage.outputTimeOut.thirtySeconds'}]
const renderMenuItems = values => values.map(({value ,translationId}) =>
<MenuItem value={value} primaryText={<FormattedMessage id={translationId} />}/>)
期望带有消息语法的东西
const renderMenuItems1 = values => values.map(({minutes, seconds}) =>
<MenuItem value={`00:${minutes}:${seconds}`} primaryText={<FormattedMessage
defaultMessage={'Hello {seconds}, you have {minutes, second} one {minute} other {minutes}'}
values={{seconds, minutes}}
/>}
/>)
预期文本:1秒,2秒等。
使用InpoxtIntl将INTL类作为Prop将其注入组件。然后,您可以在消息上拨打intl.formatMessage()
,然后将其插入primaryText
Prop将其插入到您的MenuItem
组件中。