TypeError: Невозможно прочитать свойство 'languages' из undefined в Reaction-localize-redux - PullRequest
0 голосов
/ 22 февраля 2019

Я пытался реализовать response-localize-redux для моего приложения.Но я получил следующую ошибку

TypeError: Невозможно прочитать свойство 'languages' из undefined

Это происходит из node_modules / реагировать-localize-redux / es / localize.js: 249

Моя реализация кода выглядит следующим образом.

let store = createStore(combineReducers({icm: icmReducer, locale: locale}));

ReactDOM.render(
<Provider store={store}>
    <LocalizeProvider store={store}>
        <App/>
    </LocalizeProvider>
</Provider>,
document.getElementById('root'));

App.js

class App extends React.Component {

constructor(props) {
    super(props);
    this.props.initialize({
        languages: [
            {name: "English", code: "en"},
            {name: "French", code: "fr"}
        ],
        translation: globalTranslations,
        options: {renderToStaticMarkup}
    });
}

render() {
    return (
        <div className="App container">
            <Header/>
            <InvoiceAudit/>
        </div>
    );
  }
}

export default withLocalize(App);

global.json

{
 "welcome": {
"greeting": [
  "Hello",
  "Bonjour",
  "Hola"
],
"farewell": [
  "Goodbye",
  "Au revoir",
  "Adiós"
  ]
 }
}

Ошибка

enter image description here

Ответы [ 2 ]

0 голосов
/ 22 февраля 2019

Я нашел решение.Когда мы используем комбинированные редукторы с localizeReducer, нам нужно указать имя как localize .это должно иначе, это не будет работать.

import {LocalizeProvider, localizeReducer} from 'react-localize-redux';

let store = createStore(combineReducers({icm: IcmWebReducer, localize: localizeReducer}));

Здесь упоминается: https://ryandrewjohnson.github.io/react-localize-redux-docs/#what-if-i-want-to-use-redux

0 голосов
/ 22 февраля 2019

Похоже, у вас есть 2 инициализированных языка, но 3 перевода.Вы должны добавить испанский в ваш инициализатор:

languages: [
  {name: "English", code: "en"},
  {name: "French", code: "fr"},
  {name: "Spanish", code: "es"}
],

(просто догадываясь, что это проблема)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...