私は国際化の実装を行っています。私は自分のルートを持っていて、/:locale/rest/of/route
ロードされているロケールに応じて辞書を渡したいと思っています。これは、ルート構成で行うとクールです。しかし、私はすべてのコンテナでこれを行うことしか考えられません。しかし、私の主な不確実性は、コードの重複です。(各コンテナ内this.props.dictionary[this.props.route.locale]
)
このコードの重複を避ける方法はありますか?
ここに私の設定ファイルがあります:
import React from 'react'
import ReactDOM from 'react-dom'
import { Provider } from 'react-redux'
import thunk from 'redux-thunk'
import { Router, Route, IndexRoute, Redirect } from 'react-router'
import createBrowserHistory from 'history/lib/createBrowserHistory'
import { syncReduxAndRouter } from 'redux-simple-router'
import * as containers from './app/app/containers'
import AppUser from './app/app/AppUser'
import AppCompany from './app/app/AppCompany'
import { createStore, applyMiddleware } from 'redux'
import reducers from './app/app/reducers'
const createStoreWithMiddleware = applyMiddleware(
thunk
)(createStore)
const store = createStoreWithMiddleware(reducers)
const history = createBrowserHistory()
syncReduxAndRouter(history, store)
ReactDOM.render(
<Provider store={store}>
<Router history={history}>
<Route path="/:lang" component={AppUser}>
<IndexRoute component={containers.Landing} />
<Route
path="workflow"
component={containers.Workflow} />
<Route
path="register"
component={containers.Register} />
<Route
path="login"
component={containers.Login} />
</Route>
<Redirect from="/" to="/en" />
<Route path="/:lang/company" component={AppCompany}>
<Route
path="inbox"
component={containers.Inbox} />
<Route
path="inbox/:caseId"
component={containers.CaseDetail} />
</Route>
<Redirect from="/company/inbox" to="/en/company/inbox" />
</Router>
</Provider>,
document.getElementById('root')
)