我有一个带数字的组件。
<ClickableNumber num={num} />
我从我的语言包中获取了带有FormattedMessage的数字
<ClickableNumber num={<FormattedMessage id="native_number" />} />
当我在num
内控制日志ClickableNumber
时,它是一个对象。
如何从<FormattedMessage id="native_number" />
获取值的字符串或数字版本?
如果我使用intl.formatMessage({ id: 'native_number' })
,我可以获取该值,但我正在尝试重用ClickableNumber
,并且不希望在injectIntl
答案 0 :(得分:0)
我从来没有使用过react-intl所以我不知道它是否会起作用,但它应该在概念上有效。
您可以做的是创建一个返回所需结果的效用函数。对于这种情况intl.formatMessage({ id: 'native_number' })
和格式化的组件。
const getNativeNumber = () => {
// I don't know how but you can get the number here
// something like
const nativeNumber = intl.formatMessage({ id: 'native_number' });
return {
component: <FormattedMessage id="native_number" />,
nativeNumber: nativeNumber
}
}
<ClickableNumber num={getNativeNumber()} />
console.log(this.props.num.nativeNumber) // This will have the native number in your ClickableNumber component.