在我的 react 应用程序中,我设置了如下区域设置:
const store = createStore(
combineReducers({
i18n: i18nReducer
}),
applyMiddleware(thunk)
);
syncTranslationWithStore(store)
store.dispatch(loadTranslations(translationsObject));
store.dispatch(setLocale('de'));
什么是检查设置的语言的好且简单的方法?
我试过这个:
store.dispatch(getLocale());
但这不起作用。
感谢您的帮助
最佳答案
您应该使用 connect 将您的 React 组件连接到 Redux 状态并将指示语言环境的状态属性映射到 prop,如下所示:
const mapStateToProps = (state) => {
return {
locale: state.i18n.locale
}
};
const connectedSomeComponent= connect(
mapStateToProps
)(someComponent);
那么你可以简单地在 someComponent
中使用 locale
属性。
您还可以使用 getState 直接访问存储状态因此,如果您想访问 React 组件外部的状态属性,您可以执行以下操作:
const myState = store.getState();
const locale = myState.i18n.locale;
关于reactjs - react 访问语言环境的最简单方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43205892/