React-Native初学者在这里。我正在尝试使用带有Typescript的React-Native中的TabNavigation使StackNavigation工作。我的应用中有三个屏幕。 FirstScreen
和SecondScreen
显示为选项卡,在单击FirstScreen
中的“单击此处”按钮时显示PopScreen
。 this.props.navigation.navigate("Pop")
调用按钮点击似乎失败没有任何错误,但它返回false
。react-navigation无法显示在StackNavigator中添加的屏幕
这里是我的代码:
import React from "react";
import { View, Text, Button } from "react-native";
import { StackNavigator } from 'react-navigation';
import { TabNavigator, NavigationStackScreenOptions } from 'react-navigation';
class FirstScreen extends React.Component<any, any> {
render() {
return (
<View>
<Text>My First Tab Screen!!!</Text>
<Button
title="Click Here"
onPress={() => this.props.navigation.navigate("Pop"); } />
</View>
);
}
}
class SecondScreen extends React.Component<any, any> {
render() {
return (
<Text>My Second Tab Screen</Text>
);
}
}
class PopScreen extends React.Component<any, any> {
render() {
return (
<View>
<Text>Content in pop up.</Text>
</View>
);
}
}
const TabOptions = TabNavigator({
MyFirst: { screen : FirstScreen },
MySecond: { screen : SecondScreen }
});
class TabOptionsScreen extends React.Component<any, any>
{
static navigationOptions : NavigationStackScreenOptions = {
header: null
};
render() {
return (<TabOptions />)
}
}
export const App = StackNavigator ({
Home : { screen: TabOptionsScreen },
Pop: { screen: PopScreen }
})
this.props.navigation
对象不为空或FirstScreen
类不确定的,但不知它不承认在StackNavigator传递的选项。请帮助我如何让navigate
方法在TabNavigator的任何一个儿童屏幕上工作?