2016-08-24 3 views
0

Мой навигатор ничего не визуализует (только белый экран), поэтому я уменьшил его до минимума и ничего не получил. Кто-то, пожалуйста, помогите.Навигатор ничего не показывает

import React, { Component } from 'react'; 
    import { 
     AppRegistry, 
     StyleSheet, 
     Text, 
     Navigator 
    } from 'react-native'; 

    class MyApp extends Component { 
     render() { 
     return (
      <Navigator style={styles.container} 
       initialRoute={{ title: 'My Initial Scene'}} 
       renderScene={(route, navigator) => { 
        <Text>Hello</Text> 
       }} 
      /> 
     ); 
     } 
    } 

    const styles = StyleSheet.create({ 
     container: { 
     flex: 1, 
     justifyContent: 'center', 
     alignItems: 'center', 
     backgroundColor: '#fff', 
     }, 
    }); 

    AppRegistry.registerComponent('MyApp',() => MyApp); 
+0

Этот код выглядит довольно прямолинейно и хорошо для меня. Я видел, что текст скрывается за иконками iOS Carrier и Wifi, когда все настроено так. Можете посмотреть туда за ними. Это, конечно, предполагается, что вы находитесь в симуляторе iOS. – jasonmerino

+0

Я использую android, я попытался центрировать текст, а также рендеринг других компонентов – Lance

ответ

0

Вы можете найти решение здесь: https://rnplay.org/apps/0bw98Q

Во-первых, вам не нужны дополнительные фигурные скобки после =>

Во-вторых, при применении alignItems: 'center' или justifyContent: 'center' в навигаторе, он ведет себя не так, как вы ожидаете. Лучше использовать дополнительный просмотр, который даст вам ожидаемый результат.

+0

да, это работает, спасибо – Lance

2

рендеринг функции сцены в Navigator должен вернуть Text компонент.

renderScene={(route, navigator) => { 
    return <Text>Hello</Text>; 
}} 
+0

Я пробовал, что тоже не работает – Lance

+0

Вы пробовали отладить его в Chrome, чтобы узнать, вызвана ли функция renderScene? – jasonmerino

+0

да, и он получил название – Lance