роутер флюс в реакции родной не показывает экран - PullRequest
0 голосов
/ 05 сентября 2018

Я много раз менял код, но все равно он показывает ошибку и ничего не показывает ни страницу входа, ни страницу регистрации Я запутался, теперь помогите пожалуйста .. Я новичок, чтобы реагировать на родной

  1. app.js

    import React from 'react';
    import { StyleSheet, View, StatusBar } from 'react-native';
    
    import Routes from './src/Routes';
    
    export default class App extends React.Component {
      render() {
        return (
          <View style={styles.container}>
          <StatusBar
            backgroundColor="#002f6c"
            barStyle="light-content"
            />
           <Routes/>
          </View>
        );
      }
    }
    
    const styles = StyleSheet.create({
      container: {
        flex: 1,
        backgroundColor: '#01579b',
        alignItems: 'center',
        justifyContent: 'center',
      },
    });
    

    ** это мой Router.js ** это мой файл Router, в котором я дал ссылку

    import React, {Component} from 'react';
    import {Router, Stack, Scene } from 'react-native-router-flux';
    
    import Login from './pages/Login';
    import Signup from './pages/Signup';
     export default class Routes extends Component{
    render(){
        return(
           <Router>
           <Stack key="root">
            <Scene key="login" component={Login} title="Login"/>
            <Scene key="register" component={Signup} title="Signup"/>
           </Stack>
           </Router>
            )
    }
    

    }

2. это моя страница входа

import React, {Component} from 'react';
import{Image, StyleSheet, Text, View, StatusBar } from 'react-native';

export default class Logo extends Component{
    render(){
        return(
            <View style={styles.container}>
           <Image style={{width:70, height:70}}
            source={require('../images/stgi.jpg')} />
            <Text style={styles.logoText}>Welcome to StigiTel</Text>
            </View>
            )
    }
}
});

3. это моя страница регистрации

import React,{ Component } from 'react';
import { StyleSheet, Text, View, StatusBar, TouchableOpacity } from 'react-native';
import Logo from '../components/Logo';
import Sform from '../components/Sform';

import {Actions} from 'react-native-router-flux';

export default class Signup extends Component{
  goBack() {
      Actions.pop();
  }

    render(){
        return(
             <View styles={styles.container}>

              <Logo/>
              <Sform type="Signup"/>
              <View style={styles.signupTextCont}>
                    <Text style={styles.signupText}>Already have an account!</Text> 
                    <TouchableOpacity onPress={this.goBack}><Text style={styles.signupButton}> SignIn</Text></TouchableOpacity>
                </View>

             </View>
            )
    }
}
});

1 Ответ

0 голосов
/ 05 сентября 2018

вам не нужно ставить тег Stack, просто поставь вот так.

<Router>
<Scene key="root" hideNavBar >
    //put all scene inside it
        <Scene initial key="login" component={Login} title="Login"/>
        <Scene key="register" component={Signup} title="Signup"/>
</Scene>
</Router>
...