使用组件访问商店

时间:2018-06-29 14:23:47

标签: reactjs redux

我有一个i18n组件进行翻译,该组件可访问商店并提供翻译。但是我想使用该组件以字符串而不是react元素的形式返回翻译。我该怎么办?

我有什么方法可以访问商店以获取翻译,而不必通过组件进行翻译?

interface StateProps {
  dictionary: Dictionary
}

interface DisplayProps extends StateProps {
  i18n: string
  values?: ValueObject
}

/** Renders translations */
class Translate extends PureComponent<DisplayProps, State> {
  public render () {
    const dict = this.props.dictionary
    return this.props.i18n && e(Fragment, {},
      dict
        ? translate(dict)(this.props.i18n, this.props.values)
        : this.props.i18n
    )
  }
}

const mapStateToProps = (state: State): StateProps => ({
  dictionary: state.i18n
})

export default connect(mapStateToProps)(Translate)

1 个答案:

答案 0 :(得分:0)

根据提供的答案(谢谢!),我最终导出了商店并直接访问它。