Итак, я пытался заставить работать стековый навигатор. Согласно console.log ('Main'), я действительно выхожу на главный экран. Что я и хочу. Тем не менее, экран просто дает мне пустой экран с отображением только заголовка. Я понятия не имею, в чем проблема. Я думал, что это может быть со стилем, но я удалил и изменил его, и, похоже, ничего не работает. То, как я работал, просто делало . Но это не сработает, потому что я пытаюсь перемещаться с помощью кнопок.
Скриншот логина
Главная
App.js
renderComponent() {
if (this.state.loggedIn) {
return (
<Container />
)
} else {
return (
<LoginForm />
)
}
}
render() {
return (
<View>
<Header title='InTouch' />
{this.renderComponent()}
</View>
);
}
}
Screen Container
import React, { Component } from 'react';
import { createStackNavigator, createAppContainer } from 'react-navigation';
import { View, Button } from 'react-native';
import Main from './src/components/Main'
import Upload from './src/components/Upload'
const NavigationStack = createStackNavigator({
Main: {screen: Main },
Upload: {screen: Upload},
},{
navigationOptions: {
gesturesEnabled:false
}
})
const Container = createAppContainer(NavigationStack);
export default Container;
Main.js
export default class Main extends Component<Props> {
state = { currentUser: null}
componentDidMount() {
const { currentUser } = firebase.auth()
this.setState({ currentUser })
}
render() {
console.log("Main")
const { currentUser } = this.state
return (
<View>
<Text>Hello</Text>
<Button title = "Go to upload story" onPress = {() => this.props.navigation.navigate('Upload')} />
<Button
title="Sign out"
onPress={() => firebase.auth().signOut()} />
</View>
);
Я просто хочу, чтобы появился Main.