我正在尝试通过使用Firebase作为后端来构建一个新应用程序来教自己如何使用本机。目前,我正试图绕过反应导航导航器,在添加内容之前先在应用程序上布置屏幕。
我遇到的问题是堆栈导航器无法导航。它呈现下一个屏幕,并将其添加到页面,然后启动过渡-但无论出于何种原因,过渡都不会发生。
因此发生以下事件:
* willBlur (on the originating screen)
*
onTransitionStart`(在堆栈过渡上)
我以为我做错了什么,所以我重写了三四次,最后一次我将其归结为问题的最简单的迭代,只是一个堆栈导航器和两个屏幕-我也遇到同样的问题。 我已经阅读了几次文档,并且我认为在这一点上我只是个笨蛋。
这是我要展示的整个应用程序
import React from 'react';
import { Text, TouchableOpacity } from 'react-native';
import { createAppContainer, createStackNavigator } from 'react-navigation';
class Main extends React.Component {
navigateToList() {
const { navigation } = this.props;
navigation.navigate('list');
}
render() {
return (
<TouchableOpacity
onPress={this.navigateToList.bind(this)}
>
<Text>Go To Listing Page</Text>
</TouchableOpacity>
);
}
}
class List extends React.Component {
render() {
const { refreshing } = this.props;
return (
<Text>LISTING PAGE</Text>
);
}
}
const MainStack = createStackNavigator({
mode: { screen: Main },
list: { screen: List }
}, {
initialRouteName: 'mode',
});
const App = createAppContainer(MainStack);
export default () => (
<App />
);
并且我的package.json具有以下内容:
"react": "16.8.3",
"react-native": "0.59.3",
"react-native-firebase": "^5.4.0",
"react-native-gesture-handler": "^1.3.0",
"react-navigation": "^3.11.0"
此刻仅显示“主”屏幕,而没有导航到“列表”屏幕。该按钮也停止响应,因此看起来事情开始起作用,但由于某种原因我无法解释,因此从未完成。