2016-05-18 16 views
9

Temel React Native Relay projesini kurmaya çalışıyorum. Bu sorunu, herhangi bir şans olmadan sorunu ayıklamayı deneyen çok zaman harcadıktan sonra oluşturuyorum. Bu uyarıyı konsolda alıyorum ve yerel uygulama yanıtlarım GraphQL sunucusuna çağrı yapamıyor. İşte Relay Çalışması React Native ile çalışamıyor

Warning: RelayNetworkLayer: Call received to injectImplementation(), but a layer was already injected. 


Running application "ExampleApp" with appParams: {"rootTag":1,"initialProps":{}}. __DEV__ === true, development-level warning are ON, performance optimizations are OFF 

fetchWithRetries(): Still no successful response after 1 retries, giving up. 

kodum

index.ios.js

import React, { Component } from 'react'; 
import Relay from 'react-relay'; 

import { 
    AppRegistry, 
    StyleSheet, 
    Text, 
    View 
} from 'react-native'; 
import App from './app'; 
import AppRoute from './route/appRoute'; 

Relay.injectNetworkLayer(
    new Relay.DefaultNetworkLayer("http://localhost:1337/graphy") 
); 

class ExampleApp extends Component { 
    render() { 
    return (
     <Relay.RootContainer 
     Component={App} 
     route={new AppRoute()} 
     /> 
    ); 
    } 
} 

AppRegistry.registerComponent('ExampleApp',() => ExampleApp); 

appRoute.js

'use strict'; 

import Relay from 'react-relay'; 

export default class extends Relay.Route { 
    static queries = { 
    page: (Component) => Relay.QL` 
     query { 
     posts(offset: 0) { ${Component.getFragment('page')} } 
     } 
    `, 
    }; 

    static routeName = 'AppRoute'; 
} 

'use strict'; 

import React, {Component} from 'react'; 
import Relay from 'react-relay'; 

import { 
    View, 
    Text, 
} from 'react-native'; 

class App extends Component { 

    render() { 
    console.log('props', this.props); 
    return(
    <View> 
     <Text>Testing</Text> 
    </View> 
    ); 
    } 
} 


export default Relay.createContainer(App, { 
    fragments: { 
    page:() => Relay.QL` 
     fragment on Viewer { 
     posts { id, title } 
     } 
    `, 
    } 
}); 
app.js olduğunu https://github.com/popstand/react-native-relay-graphql-example

Benzer kod ReactJS ile inşa edilmiş ve Röle web sayfasında çalışır:

package.json

{ 
    "name": "ExampleApp", 
    "version": "0.0.1", 
    "private": true, 
    "scripts": { 
    "start": "node node_modules/react-native/local-cli/cli.js start" 
    }, 
    "dependencies": { 
    "babel": "^6.5.2", 
    "babel-preset-react-native": "^1.8.0", 
    "babel-relay-plugin": "^0.8.1", 
    "react": "^0.14.8", 
    "react-native": "^0.25.1", 
    "react-relay": "^0.8.1" 
    } 
} 

babelRelayPlugin.js İşte

const getBabelRelayPlugin = require('babel-relay-plugin'); 
const schema = require('../schema.json'); 

module.exports = { plugins: [getBabelRelayPlugin(schema.data)] }; 

tam repo bağlantıdır. Native React üzerinde çalışmayı başaramıyorum. Bu soruna neden olan burada yanlış giden nedir?

cevap