3

ApolloProvider 구성 요소에서 윅스/반응 - 네이티브 탐색에 의해 생성 된 루트 구성 요소를 포장 할 수 및 궁금에 Navigation.startSingleScreenApp에 의해 생성 된 루트 구성 요소를 포장 할 수 있습니다 ApolloProvider 구성 요소? Navigation.startSingleScreenApp을 다른 구성 요소의 렌더링 메서드에 넣고 시도했지만 ApolloProvider에 포함했지만 작동하지 않았습니다. 누구도이 두 가지를 함께 사용하면서 어떤 경험을 했습니까?은 내가 <a href="https://github.com/wix/react-native-navigation" rel="nofollow">wix/react-native-navigation</a>와 함께 유성의 <a href="http://dev.apollodata.com/" rel="nofollow">Apollo</a> 클라이언트를 사용하고

Navigation.registerComponent으로 등록 된 각 구성 요소마다 별도의 루트 구성 요소가 있는지 궁금합니다. 그럴 경우 더 높은 구성 요소를 사용하여 ApolloProvider으로 등록한 각 구성 요소를 동봉해야합니다. 누구나 제공 할 수있는 생각이나 예제 코드에 감사드립니다! 미리 감사드립니다.

답변

1

등록 된 각 구성 요소를 상위 구성 요소를 사용하여 배치했습니다. 나는 HOC에 사용되는 코드는 다음과 같습니다 :

import React from 'react'; 
import appClient from '../store/apollo'; 
import { ApolloProvider } from 'react-apollo'; 

export default function apolloProviderHOC(WrappedComponent){ 
    return class PP extends React.Component { 
    render() { 
     return (
     <ApolloProvider client={appClient}> 
      <WrappedComponent {...this.props}/> 
     </ApolloProvider> 
    ); 
    } 
    } 
} 

그냥 위의 기능을 가져 당신이 그것으로 포장 할 구성 요소를 전달합니다. ApolloClient는 "클라이언트"라고 할 수있다

Navigation.registerComponent('pm.SplashScreen',() => SplashScreen, store, Provider, {client}); 

반응 - 네이티브 탐색이 확산을 사용하기 때문에 :

0

나는이 문제에 대한 발견 가장 쉬운 해결책은 그 같은 registerComponent 기능에 ApolloClient을 전달하는 것입니다 당신이 통과시킨 그 물건의 조작원.