我使用redux-react-native-i18n
进行本地化。
我收到此错误
TypeError:undefined不是对象(评估' _ref $ i18n.currentLanguage')
这是我在store / index.js
中的代码import { i18nReducer, i18nActions, Loc } from 'redux-react-native-i18n';
reducers.i18n = i18nReducer
const store = createStore(
reducers,
{},
compose(
applyMiddleware(thunk)
)
);
const dictionaries = {
'en-US': {
'oh': 'Order History',
},
'ko-KR': {
'oh': '주문내역',
},
//...
}
store.dispatch( i18nActions.setDictionaries( dictionaries ) )
设置语言(store.index.js - 继续)
const languages = [
{
code: 'en-US',
name: 'english'
},
{
code: 'ko-KR',
name: 'Korean'
},
//...
]
store.dispatch( i18nActions.setLanguages( languages ) )
store.dispatch( i18nActions.setCurrentLanguage( 'en-US' ) ) <<<It's not working?
export default store;
我在这里调用<Loc />
文本组件,它转换为当前语言。
<H2 style={styles.locationTitle}><Loc locKey="oh"/></H2>
&lt; - 此处错误
我在商店里做了console.log('hi')
,看来我的商店工作正常。我在Android上运行此功能。
答案 0 :(得分:1)
您可以尝试使用combineReducers( reducers )
吗?似乎你的变量“reducers”是一个对象。但它必须是一个函数 - https://redux.js.org/api-reference/createstore