React Redux导出默认为2个函数

时间:2017-02-10 13:20:18

标签: reactjs redux react-redux

我对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);

1 个答案:

答案 0 :(得分:7)

直接解决方案是使用

export default translate()(connect()(PrechatForm));

即。首先连接到Redux,然后翻译连接的组件。

编辑:为了帮助您想象,您可以像这样看到它

const connector = connect();
const translator = translate();

export default translator(connector(PrechatForm));