React Redux导出默认为2个函数

Bar*_*art 3 reactjs redux react-redux

我对React很新,所以请原谅我,如果这是一个愚蠢的问题,但我坚持以下几点:

目前我有这个:

export default connect()(PrechatForm);
Run Code Online (Sandbox Code Playgroud)

现在我想用react-i18next翻译render函数中的一些文本文本.他们的导游说我必须这样做:

export default translate()(PrechatForm);
Run Code Online (Sandbox Code Playgroud)

但由于连接功能已经存在,我不知道如何将这些结合起来.最后我想它应该看起来像这样:(当然这不是有效的JS)

export default connect(PrechatForm)()translate()(PrechatForm);
Run Code Online (Sandbox Code Playgroud)

整个示例如下所示:

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);
Run Code Online (Sandbox Code Playgroud)

Dan*_*ola 8

直截了当的解决方案是使用

export default translate()(connect()(PrechatForm));
Run Code Online (Sandbox Code Playgroud)

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

编辑:为了帮助想象你可以看到这样的

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

export default translator(connector(PrechatForm));
Run Code Online (Sandbox Code Playgroud)