Соединение ReactJS i18n - ошибка типа: locale.get не является функцией - PullRequest
0 голосов
/ 25 мая 2019

Я пытаюсь настроить приложение, к которому можно получить доступ на 2 языках.Я слежу за кодом другого приложения, и он точно такой же, как и у меня, просто у меня ошибка:

TypeError: locale.get не является функцией

это App.js

import React, { Component } from 'react'
import './App.scss'
import { PrivateRoute, history } from './routes'
import { Router, Route } from 'react-router-dom'
import { HomeContainer, LoginContainer } from './containers'
import { addLocaleData } from 'react-intl'
import ConnectedIntlProvider from './ConnectedIntlProvider'

import en from 'react-intl/locale-data/en'
import ro from 'react-intl/locale-data/ro'

addLocaleData([...en, ...ro])

class App extends Component {
  state = {
    persisted: false
  }

  renderRoutes() {
    return (
      <ConnectedIntlProvider>
        <Router history={history}>
          <div className="pageLayoutContainer">
            <PrivateRoute exact path="/" component={HomeContainer} />
            <Route exact path="/login" component={LoginContainer} />
          </div>
        </Router>
      </ConnectedIntlProvider>
    )
  }

  render() {
    return <div className="appContainer">{this.renderRoutes()}</div>
  }
}

export default App

и это ConnectedIntlProvider.js

import { connect } from 'react-redux'
import { IntlProvider } from 'react-intl'
import Immutable from 'immutable'

function mapStateToProps(state) {
  const locale = state.locale || Immutable.fromJS({})
  return {
    locale: locale.get('lang'),
    key: locale.get('lang'),
    messages: locale.get('messages').toJS()
  }
}

export default connect(mapStateToProps)(IntlProvider)

ошибка относится к этой строке

 locale: locale.get('lang'),

но даже если я удалю его, ту же ошибку я получу и для ключа и для сообщений.

У вас есть идеи, почему это произойдет?Есть мысли о том, как я могу это исправить?

Спасибо

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