反应是什么是访问语言环境的最重要方式

时间:2017-04-04 11:26:14

标签: reactjs react-redux

在我的反应应用中,我设置了这样的语言环境:

const store = createStore(
    combineReducers({
        i18n: i18nReducer
    }),
    applyMiddleware(thunk)
);
syncTranslationWithStore(store)
store.dispatch(loadTranslations(translationsObject));
store.dispatch(setLocale('de'));

检查设置哪种语言会有什么好方法?

我试过了:

store.dispatch(getLocale());

但那不起作用。

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

您应该使用connect将您的react组件连接到Redux状态,并将指示locale的state属性映射到prop,如下所示:

const mapStateToProps = (state) => {
    return {
        locale: state.i18n.locale
    }
};

const connectedSomeComponent= connect(
    mapStateToProps
)(someComponent);

然后您可以在locale中使用someComponent道具。

您还可以使用getState直接访问商店状态,因此,如果您想访问react组件外的州属性,可以执行以下操作:

const myState = store.getState();
const locale = myState.i18n.locale;