React-Native导航到新屏幕不起作用

时间:2018-12-07 05:12:10

标签: react-native react-navigation

我正在尝试构建一个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>
        );

1 个答案:

答案 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)
}}

希望这会有所帮助。快乐编码:)