2016-10-06 4 views
0

다국어 지원을 목표로하는 React-Native 앱이 있습니다.즉시 기본 네트워크 레이어 수정

Relay을 사용하므로 루트 구성 요소 위에 위와 같은 코드가 있습니다.

Relay.injectNetworkLayer(new DefaultNetworkLayer("http://localhost/graphql")) 

이제 language 매개 변수는 Graph 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> 
     ) 
    } 
} 

답변

0

왜 돈 ' 언어의 로케일을 지정하는 헤더를 사용합니다.

+0

댓글이어야합니다. –

관련 문제