问题
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