开发者社区> 问答> 正文

#React 如何<FormattedMessage>通过React Intl用作占位符?

#React 如何 通过React Intl用作占位符?

展开
收起
因为相信,所以看见。 2020-05-07 20:26:57 1812 0
1 条回答
写回答
取消 提交回答
  • 阿里,我所有的向往

    返回元素的<Formatted... />组成部分react-intl不是纯文本,因此不能用于占位符,替代文本等。在这种情况下,应使用较低级别的API formatMessage()。您可以intl使用injectIntl()高阶组件将对象注入到组件中,然后使用formatMessage()该对象上的可用消息格式化消息。

    import React from 'react'
    import { injectIntl, intlShape } from 'react-intl'
    
    const MyComponent = ({ intl }) => {
      const placeholder = intl.formatMessage({id: 'messageId'})
      return <input placeholder={placeholder} />
    }
    
    MyComponent.propTypes = {
      intl: intlShape.isRequired
    }
    
    export default injectIntl(MyComponent)
    
    2020-05-07 20:30:07
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
利用编译将 Vue 组件转成 React 组件 立即下载
React Native 全量化实践 立即下载
React在大型后台管理项目中的工程实践 立即下载