React-native: undefined не является объектом (оценивает '_this.props.navigation.navigate') onpress - PullRequest
0 голосов
/ 02 июня 2019
const AppStackLog = createDrawerNavigator(
  {

    Login: {
      screen: LogintStack,
      navigationOptions: (navOpt) => ({
        drawerLabel: ({focused}) =>(
        <TouchableOpacity style={[styles.button]} onPress={() => this.navigation.navigate('App')}>
         <Text><Icon

            size={17}
            name="log-in"
            family="Galio"
            color={focused ? 'white' : materialTheme.COLORS.MUTED} />
       <Text size={18}>        Logout</Text></Text>       
      </TouchableOpacity>
        ),
      }),
    },



  },
  Menu
);

export default createSwitchNavigator(
  {
    App: AppStack,
    Home: HomeStack,
    Auth:AppStackLog,
  },
  {
    initialRouteName: 'App',
  }
);

1 Ответ

0 голосов
/ 02 июня 2019

this не будет указывать на какой-то конкретный компонент, он будет указывать на то, что this было равно, когда этот код был определен.Вместо этого параметр navOpt содержит то, что вам нужно:

<TouchableOpacity style={[styles.button]} onPress={() => navOpt.navigation.navigate('App')}>
...