Do not re-compute object.keys on locale check
This commit is contained in:
1 parent
10c51fa4c1
commit
9dc453bb24
1 file changed
+6
-5
@@ -17,7 +17,7 @@ class LanguageSelector extends React.Component {
|
||||
}
|
||||
handleChange (e) {
|
||||
const newLocale = e.target.value;
|
||||
if (this.props.supportedLocales.includes(newLocale)) {
|
||||
if (this.props.messagesByLocale[newLocale]) {
|
||||
this.props.onChangeLanguage(newLocale);
|
||||
document.documentElement.lang = newLocale;
|
||||
}
|
||||
@@ -25,7 +25,7 @@ class LanguageSelector extends React.Component {
|
||||
render () {
|
||||
const {
|
||||
onChangeLanguage, // eslint-disable-line no-unused-vars
|
||||
supportedLocales, // eslint-disable-line no-unused-vars
|
||||
messagesByLocale, // eslint-disable-line no-unused-vars
|
||||
children,
|
||||
...props
|
||||
} = this.props;
|
||||
@@ -43,13 +43,14 @@ class LanguageSelector extends React.Component {
|
||||
LanguageSelector.propTypes = {
|
||||
children: PropTypes.node,
|
||||
currentLocale: PropTypes.string.isRequired,
|
||||
onChangeLanguage: PropTypes.func.isRequired,
|
||||
supportedLocales: PropTypes.arrayOf(PropTypes.string)
|
||||
// Only checking key presence for messagesByLocale, no need to be more specific than object
|
||||
messagesByLocale: PropTypes.object, // eslint-disable-line react/forbid-prop-types
|
||||
onChangeLanguage: PropTypes.func.isRequired
|
||||
};
|
||||
|
||||
const mapStateToProps = state => ({
|
||||
currentLocale: state.locales.locale,
|
||||
supportedLocales: Object.keys(state.locales.messagesByLocale)
|
||||
messagesByLocale: state.locales.messagesByLocale
|
||||
});
|
||||
|
||||
const mapDispatchToProps = dispatch => ({
|
||||
|
||||
Reference in new issue
Block a user