React-intl:FormttedMessage不会显示0但它会显示任何数字

时间:2016-08-01 06:53:17

标签: reactjs redux react-intl

我有一个列表,我需要显示否。列表中的元素。我使用<FormattedMessage>并且一切都很好但是当列表大小为0时,<FormattedMessage>什么都没有显示。它适用于否定(如果我硬编码)和正数(如果列表有成员),但如果为0则不显示任何内容。

import React, { Component } from 'react'
import {FormattedMessage} from 'react-intl'

class List extends Component {

  render() {

    let userNumber=0;
    if(this.props.list.get('users').size > 0){
      userNumber = this.props.list.get('users').size;
    }
    else{
      userNumber = 0;
    }

    console.log(userNumber)
    console.log(typeof userNumber)
    return (
          <FormattedMessage
            id = 'active-users'
            description = 'ACTIVE USERS'
            defaultMessage = 'ACTIVE USERS ({userList})'
            values = {{
              userList: userNumber
            }}
          />
      )
  }
}

export default List

1 个答案:

答案 0 :(得分:3)

您可以使用'ACTIVE USERS ({userList, number})'代替'ACTIVE USERS ({userList})'

来解决此问题
<FormattedMessage
        id = 'active-users'
        description = 'ACTIVE USERS'
        defaultMessage = 'ACTIVE USERS ({userList, number})'
        values = {{
          userList: userNumber
 }}/>

jsfiddle