TypeError:undefined不是一个工具(评估' _ref $ i18n.currentLanguage')

时间:2018-04-02 23:30:03

标签: javascript reactjs react-native localization

我使用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上运行此功能。

1 个答案:

答案 0 :(得分:1)

您可以尝试使用combineReducers( reducers )吗?似乎你的变量“reducers”是一个对象。但它必须是一个函数 - https://redux.js.org/api-reference/createstore