Навигация pu sh и сброс Stacknavigator приведет к ошибке navigate.opendrawer не является функцией - PullRequest
0 голосов
/ 17 апреля 2020

у меня 3 экрана. Вход> Главная> Профиль. На главном экране есть ящик. После клика сохранить данные в профиле я использую this.props.navigation.push('Profile'), поэтому домашний экран перезагрузится и выдаст только что сохраненные данные.

Но когда я щелкаю ящик на главном экране, я получаю ошибку TypeError_this3.props.navigation.openDrawer is not a function. In('_this3.props.navigation.openDrawer()', _this3.props.navigation.openDrawer is undefined)

Такая же ошибка, когда я использую StackNavigator.reset. Я использую это, поэтому, если я нажму кнопку «Назад» на домашней странице, я не пойду на страницу входа но он получит ту же ошибку на главном экране. Пожалуйста, любые советы.

Это мое приложение. js

const Drawer = createDrawerNavigator(
  {
    Home: { screen: Home },
    Profile: { screen: Profile }
  },
  {
    initialRouteName: "Home",
    contentComponent: props => <SideBar {...props} />
  }
);

const AppNavigator = createStackNavigator(

  {
    Drawer: { screen: Drawer },
    Profile: { screen: Profile },

  },
  {
    initialRouteName: "Drawer",
    headerMode: "none"
  }
);

const AppContainer = createAppContainer(AppNavigator);

export default () =>
  <Root>
    <AppContainer />
  </Root>;
...