我正在尝试构建一个onPress按钮,该按钮将显示到跟踪屏幕。我可以看到控制台日志,其中显示了其输入的代码,但没有导航到该屏幕。抽屉链接上的同一屏幕导航到我想要的屏幕
import { TabNavigator, StackNavigator, navigationOptions, NavigationActions } from "react-navigation";
trackButton(){ 返回(
<View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
<Button
title="Start Tracking"
onPress={() => {
console.log('Testing');
/* 1. Navigate to the Details route with params */
const resetAction = NavigationActions.reset({
index: 0,
actions: [
NavigationActions.navigate({ routeName: 'TrackingScreen'})
]
})
this.props.navigation.dispatch(resetAction)
}}
/>
</View>
);
答案 0 :(得分:0)
reset
在实施中不再属于NavigationActions
。随着V2的发布,reset
的实现和许多其他操作被移交给StackActions
。因此您应该使用StackActions.reset({...})
来参考this
您的代码应如下所示:
onPress={() => {
console.log('Testing');
/* 1. Navigate to the Details route with params */
const resetAction = StackActions.reset({
index: 0,
actions: [
NavigationActions.navigate({ routeName: 'TrackingScreen'})
]
})
this.props.navigation.dispatch(resetAction)
}}
希望这会有所帮助。快乐编码:)