createAppContainer не работает даже после экспорта - PullRequest
0 голосов
/ 03 января 2019

Привет, я новичок в реагировании на нативный, я пытался настроить базовую маршрутизацию в реакции на нативную экспозицию, я не могу понять, чего мне не хватает. Вот мой app.js -

import React from "react";
import { createStackNavigator, createAppContainer  } from "react-navigation";
import LoginScreen  from "./src/components/screen/LoginScreen"
import HomeScreen  from "./src/components/screen/HomeScreen"


const RootStack = createStackNavigator({
LoginScreen: {
screen: LoginScreen
},
HomeScreen: {
screen: HomeScreen
}
});

const AppNavigator = createAppContainer(RootStack);

export default class App extends React.Component {
 render() {
 return (
     <AppNavigator />
 );
  }
 }

Вот мой HomeScreen.js -

import React from "react";
import {
ScrollView,
Text,
View,
} from 'react-native';
export default class HomeScreen extends React.Component {


render() {
    return (
        <View >
            <ScrollView >
                <Text>Home Screen</Text>
            </ScrollView>
        </View>
    );
  }
} 

Вот мой LoginScreen.js -

import React from "react";
import {
ScrollView,
Text,
View,
Button,
} from 'react-native';
import HomeScreen from "./HomeScreen"

export default class LoginScreen extends React.Component {


render() {
    return (
        <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }} >
                <Text>LoginScreen</Text>
                <Button onPress={ () => this.props.navigation.navigate('HomeScreen')} title = "Go To Home" />
        </View>
    );
 }
}

Было бы очень полезно, если бы кто-то мог подсказать, что это, что мне не хватает, я могу видеть экран входа в систему с помощью кнопки, но ничего не происходит при нажатии (без маршрутизации). Я проверил клик, он отлично работает с Android-тост.

Ответы [ 2 ]

0 голосов
/ 03 января 2019

Добавить App.js

import React from 'react';
import { BrowserRouter,Route, Switch } from 'react-router-dom'
import LoginScreen  from "./src/components/screen/LoginScreen"
import HomeScreen  from "./src/components/screen/HomeScreen"

class RootStack  extends React.Component {
     <BrowserRouter>
                <Switch>
                    <Route exact path="/" component={LoginScreen} />
                    <Route exact path="/dashboard" component={HomeScreen} />
                </Switch>
            </BrowserRouter>
)


class App extends Component {
  render() {
    return (
      <RootStack  />
    );
  }
}

export default App;
0 голосов
/ 03 января 2019

Вы должны экспортировать AppNavigator напрямую.

const App = createAppNavigator(RootStack);

export default App;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...