3

Ich benutze Meteor Apollo Client in Verbindung mit wix/react-native-navigation und ich frage mich, ob es möglich ist, die von Navigation.startSingleScreenApp erstellte Root-Komponente in ein ApolloProvider Komponente? Ich habe versucht, die Navigation.startSingleScreenApp innerhalb der Render-Methode einer anderen Komponente und umschließt es in ApolloProvider, aber das hat nicht funktioniert. Hat jemand Erfahrung mit diesen beiden zusammen?Kann ich die von wix/react-native-navigation erstellte Root-Komponente in eine ApolloProvider-Komponente einbinden

Ich frage mich, ob jede mit Navigation.registerComponent registrierte Komponente eine eigene separate Root-Komponente hat und wenn das der Fall ist, muss ich jede Komponente mit beifügen, möglicherweise mit einer Komponente höherer Ordnung? Ich würde mich über jeden Gedanken oder Beispielcode freuen, den jemand zur Verfügung stellen könnte! Danke im Voraus.

Antwort

1

Ich bin mit dem Umwickeln jeder registrierten Komponente mit einer Komponente höherer Ordnung gegangen. I-Code für den HOC verwendet unter:

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> 
    ); 
    } 
    } 
} 

einfach die Funktion oben importieren und die Komponente, die Sie in sie wickeln wollen passieren.

0

Die einfachste Lösung, die ich für dieses Problem gefunden ist, einfach die ApolloClient in der registerComponent Funktion wie das passiert:

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

Die ApolloClient „Client“ genannt werden, weil reagieren-native-Navigation verwendet eine Verbreitung Operator auf dem Objekt, das Sie übergeben haben.

Verwandte Themen