如果我错了,请纠正我,ReactIntl​​中的FormattedMessage返回一个由span标记包装的字符串。在ReactIntl​​ 1.2中,我们可以选择使用this.getIntlMessage('key')仅获取字符串部分。

这是我的问题:ReactIntl​​ 2.0中是否有与之等效的东西?我知道可以通过在FormattedMessage中使用Function-As-Child模式获取字符串,如下所示:

<FormattedMessage id="placeholder">
    {(formattedValue)=>(
        <MyComponent ref="mycomponent" placeholder={formattedValue}/>
    )}
</FormattedMessage>

但是,它弄乱了我组件中的“ref”,并且我无法再使用this.refs.mycomponent来访问该组件。

最佳答案

有一个更好的解决placeholder问题的方法。

<FormattedMessage ...messages.placeholderIntlText>
  {
     (msg) =>  <input type="text" placeholder = {msg} />
  }
</FormattedMessage>

09-27 10:55