2016-04-11 12 views
0

Ich verfolge die für iOS native Tutorial Reagieren auf: https://www.raywenderlich.com/126063/react-native-tutorialReagieren india undefiniert keine funcion ist

Da es ein Mangel an Tutorials für Android ist in React-Ureinwohner, ich bin versucht, den iOS-Link oben, um zu übertragen Android, aber der Fehler erscheint als:

enter image description here

I NavigatorIOS-Navigator inline geändert:

'use strict'; 
//var React = require('react-native'); 

import React, { 
    AppRegistry, 
    Component, 
    Navigator, 
    Image, 
    ListView, 
    StyleSheet, 
    Text, 
    View 
} from 'react-native'; 
var styles = React.StyleSheet.create({ 
    text: { 
    color: 'black', 
    backgroundColor: 'white', 
    fontSize: 30, 
    margin: 80 
    }, 
    container: { 
    flex: 1 
    } 
}); 


class HelloWorld extends React.Component { 
    render() { 
    return <React.Text style={styles.text}>Hello World (Again)</React.Text>;  
    } 
} 


class PropertyFinderApp extends React.Component { 
    render() { 
    return (
     <Navigator 
     style={styles.container} 
     initialRoute={{ 
      title: 'Property Finder', 
      component: HelloWorld, 
     }} 
     /> 
    ); 
    } 
} 

React.AppRegistry.registerComponent('PropertyFinder', function() { return PropertyFinderApp }); 

Ich bin relativ neu in React-Native, wie kann das gelindert werden?

+0

Haben Sie das Beispiel replizieren wollen, dass sie in der Dokumentation haben .. Sie haben nicht ein renderScene definiert es scheint ... http : //facebook.github.io/react-native/docs/navigator.html#content – Abhay

+0

@Abhay, gibt es eine Quelle für Android React-Native Tutorial? Ähnlich dem, den ich gefunden habe? – Sauron

+1

Nicht, dass ich weiß, aber ich glaube, der ganze Punkt der Reaktion native ist, dass es für beide funktionieren sollte - Natürlich können einige Funktionen native abhängig sein. – Abhay

Antwort

0

NavigatorIOS ist eine (wie der Name schon sagt) iOs-only-Komponente mit einer anderen API als die Navigator-Komponente. Die Navigator-Komponente ist übrigens die offiziell vom Team von React Native unterstützte, also sollte sie wahrscheinlich trotzdem verwendet werden.

Weitere Informationen vergleichen https://facebook.github.io/react-native/docs/navigatorios.html & https://facebook.github.io/react-native/docs/navigator.html

zu Ihrem Arbeitsbeispiel zurück zu kommen, müssen Sie die renderScene prop zu Ihrem Navigator Komponente hinzuzufügen. Ich habe auch initialRoute geändert, so dass es einen Schlüssel gibt, mit dem in der renderScene-Methode identifiziert werden kann (es funktioniert sauberer als die Weitergabe von Komponenten meiner Meinung nach).

<Navigator 
    style={styles.container} 
    initialRoute={{ 
     title: 'Property Finder', 
     component: 'HelloWorld', 
    }} 
    renderScene ={this._renderScene.bind(this)} 
    /> 

dann die _renderScene Methode hinzufügen:

_renderScene(route, navigator) { 
    if (route.component == 'HelloWorld') { 
     return <HelloWorld /> 
    } 
    // return a default homescreen or something when the route is not matched 
    return <Home /> 
} 
Verwandte Themen