Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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.

like image 646
pankaj Avatar asked Dec 03 '22 19:12

pankaj


1 Answers

<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);
like image 157
Pardeep Dhingra Avatar answered Dec 06 '22 11:12

Pardeep Dhingra