React-intl cosnt <FormattedMessage /> is giving [object object] as result

大憨熊 提交于 2019-12-08 00:23:56

问题


I am using "react-intl": "^2.4.0", and "react": "^16.2.0".

I am trying to assign the output of FormattedMessage tag to a constant and put it in the input tag placeholder.

Code Image

Expected Output Input field with text in the respective language in it but it is coming [object object] inside the text box.


回答1:


<FormattedMessage /> is a component which cannot be placed to placeholder which expects a raw String.

import {injectIntl} from 'react-intl'; 

class TestComponent extends React.Component{
  render(){
    const { intl } = this.props;
    return (
        <input placeholder={intl.formatMessage({ id: "loginPage.username", defaultMessage: 'username'})}/>
    )
  }
}

export default injectIntl(TestComponent);


来源:https://stackoverflow.com/questions/52423291/react-intl-cosnt-formattedmessage-is-giving-object-object-as-result

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!