0
多言語サポートを目的としたReact-Nativeアプリがあります。オンザフライでデフォルトのネットワーク層を変更する
Relay
を使用していますので、ルートコンポーネントの上にこのようなコードがあります。
Relay.injectNetworkLayer(new DefaultNetworkLayer("http://localhost/graphql"))
言語パラメータは、グラフAPIを使用してパラメータFacebook does itとして渡されます。
Relay.injectNetworkLayer(new DefaultNetworkLayer("http://localhost/graphql?locale=en_US"))
アプリの言語を設定から変更できるようにするにはどうすればこの設定を変更できますか?そして、どういう意味で、それらの言語の変更でアプリケーションを再起動するのでしょうか?私はちょうど同じ時間に初めてrelay
とreact-native-router-flux
のために実装しようとすることで自分自身を混乱される可能性があります ....
これは、その全体が、ルートコンテナコードです:
import Relay, {
DefaultNetworkLayer,
RootContainer,
} from 'react-relay'
import RelayRenderer from 'rnrf-relay-renderer'
import {
Actions,
Reducer,
Router,
Scene
} from 'react-native-router-flux'
const locale = `en_US`
Relay.injectNetworkLayer(new DefaultNetworkLayer(`http://localhost/graphql?locale=${locale}`))
const reducerCreate = params => {
const defaultReducer = Reducer(params)
return (state, action) => {
return defaultReducer(state, action)
}
}
}
export default class App extends Component {
render() {
return (
<Router
createReducer={reducerCreate}
wrapBy={RelayRenderer()}
>
...
...
</Router>
)
}
}
これはコメントです –