....
const func1 = (intl) => {
const text = intl.formatMessage({id: 'mesage'});
const func2 = () => {
return {
<div>.....
placeholder={text}</div>
};
};
return {
<div>.....
{func2()}</div>
};
};
使用styles(styles)(injectIntl(component));导出默认值;`}
我正在尝试使用react-intl库来注入Intl来翻译字符串,但我不断收到以下错误:
“无法读取未定义的属性'formatMessage'”
我正在尝试执行以下操作: React-Intl How to use FormattedMessage in input placeholder
答案 0 :(得分:1)
您可以使用这种方式..!
PlaceHolder Antd的最简单解决方案。
import {injectIntl} from "react-intl";
class DemoForm extends React.Component {
render() {
const {getFieldDecorator} = this.props.form;
const {intl} = this.props;
const placeholder = intl.formatMessage({id:'enterHere'});
return (
<Form.Item label={<FormattedMessage id='name'/>}>
{getFieldDecorator('name',)(<Input placeholder={placeholder}/>)}
</Form.Item>
)
}
}
export const Demo = injectIntl(Form.create()(DemoForm));
答案 1 :(得分:0)
您可以使用ItemName
,props.intl.formatMessage({id: 'mesage'});
对象包含在道具中。
进一步假设intl
被包裹,
Mycomponent