2017-02-10 94 views
2

我很新的反应,所以请原谅我,如果这是一个愚蠢的问题,但我坚持以下几点:阵营终极版默认的出口与2个功能

目前我有这样的:

export default connect()(PrechatForm); 

现在我想用react-i18next来翻译渲染函数内部文本的一些文本。他们的导游说,我必须做这样的事情:

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

回答

6

直接的解决方案是使用

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

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

编辑:为了帮助形象化你可以看到像这样

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

export default translator(connector(PrechatForm)); 
+0

感谢您的编辑,这使得它清楚发生了什么! – Bart