2016-06-10 4 views
0

В настоящее время я пытаюсь использовать NavigatorIOS для перехода с моей страницы индекса ios в приложении React-Native на другую страницу. Однако, когда я это делаю, я получаю эту ошибку, и следующая страница не загружается: Warning: Failed propType: Invalid prop 'initialRoute.component' of type 'object' supplied to 'NavigatorIOS', expected 'function'.Ошибка NavigatorIOS в React-Native?

Я уверен, что я реализовал это точно так же успешно в прошлом, но мне может быть что-то не хватает - Любая обратная связь очень ценится!

Соответствующий код в index.ios.js:

onLoginPressed() { 
    return (
     <React.NavigatorIOS 
     style={styles.container} 
     initialRoute={{ 
     title: 'Home', 
     component: Home, 
     }}/> 
    ); 
} 

render() { 
    return (
    <View style={styles.container}> 
     <Text style={styles.welcome}> 
     Welcome! 
     </Text> 
    <TouchableHighlight 
     onPress={() => {this.onLoginPressed()}} 
     activeOpacity={75/100} 
     underlayColor={"rgb(210,210,210)"}> 
     <Text>Login</Text> 
    </TouchableHighlight> 
    </View> 
); 

}}

Соответствующий код Домашняя страница:

class Home extends Component { 

    constructor(props) { 
     super(props); 
     this.state = { } 
    } 

    render() { 
     console.log('loaded here'); //this is never being called 
     return (
     <View> 
      <Text 
      style={{ 
       color: 'black', 
       fontSize: 16, 
       fontWeight: 'normal', 
       fontFamily: 'Helvetica Neue', 
      }}> 
      My Text 
      </Text> 
     </View> 
    ) 
    } 
    } 

export default Home 

ответ

1

Вы должны иметь вас NavigatorIOS и ваш первоначальный маршрута с корень приложения:

class App extends Component { 
    render() { 
     return (
      <NavigatorIOS 
      style={styles.container} 
      initialRoute={{ 
       title: 'Home', 
       component: Home, 
      }}/> 
     ) 
    } 
} 

onLoginPressed должен подтолкнуть новый маршрут к стеке маршрута:

onLoginPressed() { 
    this.props.navigator.push({ 
     component: Login, 
    title: 'Login' 
    }) 
} 

Я создал рабочий пример с кодом here.

https://rnplay.org/apps/Cl8aPQ

 Смежные вопросы

  • Нет связанных вопросов^_^