我对React很新,所以如果这是一个愚蠢的问题,请原谅我,但我坚持以下几点:
目前我有这个:
export default connect()(PrechatForm);
现在我想用react-i18next翻译render函数中的一些文本文本。他们的导游说我必须这样做:
export default translate()(PrechatForm);
但是由于连接功能已经存在,我不知道如何将它们组合起来。最后我想它看起来应该是这样的:(当然这不是有效的JS)
export default connect(PrechatForm)()translate()(PrechatForm);
整个例子如下:
import { connect } from 'react-redux'
import { translate } from 'react-i18next';
class PrechatForm extends Component {
constructor(props) {
super(props);
}
render() {
const { t } = this.props;
return (
{t.('translateme')}
);
}
}
export default connect()(PrechatForm);
答案 0 :(得分:7)
直接解决方案是使用
export default translate()(connect()(PrechatForm));
即。首先连接到Redux,然后翻译连接的组件。
编辑:为了帮助您想象,您可以像这样看到它
const connector = connect();
const translator = translate();
export default translator(connector(PrechatForm));