【发布时间】:2018-03-22 01:33:53
【问题描述】:
这里是 React-Native 初学者。我正在尝试使 StackNavigation 与带有 Typescript 的 React-Native 中的 TabNavigation 一起工作。我的应用程序中有三个屏幕。 FirstScreen 和SecondScreen 显示为选项卡,而PopScreen 则在单击FirstScreen 中的“单击此处”按钮时显示。 this.props.navigation.navigate("Pop") 按钮单击调用似乎没有任何错误,但它返回 false。
这是我的代码:
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 类中不是 null 或未定义,但不知何故它无法识别在 StackNavigator 中传递的选项。请帮助我如何使navigate 方法在 TabNavigator 的任何子屏幕中工作?
【问题讨论】:
标签: typescript react-native react-navigation