....
const func1 = (intl) => {
const text = intl.formatMessage({id: 'mesage'});
const func2 = () => {
return {
<div>.....
placeholder={text}</div>
};
};
return {
<div>.....
{func2()}</div>
};
};导出默认样式(WithStyles)(injectIntl(组件));`}
我正在尝试使用react-intl库将字符串转换为injectIntl,但我一直收到以下错误:
“无法读取未定义的属性'formatMessage‘”
我正在尝试这样做:React-Intl How to use FormattedMessage in input placeholder
发布于 2020-08-03 23:21:26
您可以这样使用..!
是PlaceHolder和最简单的解决方案
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));发布于 2019-02-11 17:15:58
你可以使用props.intl.formatMessage({id: 'mesage'});,intl对象包含在props中。
进一步假设Mycomponent已经包装好了:
const MyComponent = ({intl}) => { // we are extracting intl from prop object
// component code here
}https://stackoverflow.com/questions/54627173
复制相似问题