UNPKG

eunomia-controller

Version:

28 lines (24 loc) 801 B
import React from 'react'; import { connect } from 'react-redux'; import { createSelector } from 'reselect'; import { IntlProvider } from 'react-intl'; import { makeSelectLocale } from './selectors'; export class LanguageProvider extends React.PureComponent { render() { return ( <IntlProvider locale={this.props.locale} key={this.props.locale} messages={this.props.messages[this.props.locale]}> {React.Children.only(this.props.children)} </IntlProvider> ); } } LanguageProvider.propTypes = { locale: React.PropTypes.string, messages: React.PropTypes.object, children: React.PropTypes.element.isRequired }; const mapStateToProps = createSelector ( makeSelectLocale(), (locale) => ({ locale }) ); module.exports = connect(mapStateToProps)(LanguageProvider)