组件自行卸载

时间:2020-12-28 22:11:19

标签: react-native react-navigation-v5

我们将这段代码添加到 react native 中的软件后退按钮按下和硬件后退按钮按下中。现在,在按下软件后退按钮的情况下,一切正常,但在硬件后退按钮的情况下,流程转到所需的代码,然后组件卸载。这是代码。

handleBackButtonClick = () => {
    // console.log('this.props ', this.props);
    const {navigation} = this.props;
    const {index, routes} = this.props.navigation.dangerouslyGetState();
    console.log("routes are ...",routes);
    let previousRoute;
    if(routes && routes.length >1){
      previousRoute = routes[index - 1].name;
    }

    if (previousRoute === 'BENEFITS_SCHEDULED_TESTS') {
      navigation.goBack();
    } else {
      navigation.dispatch(
        StackActions.replace(Routes.DASH_STACK, {
          screen: Routes.BENEFITS_TAB,
          params: {
            screen: Routes.MY_ORDERS,
          },
        }),
      );
    }
  };

我的订单页面中的路由,即使在硬件按下的情况下,我也希望屏幕在其中导航。 0:{名称:“PURCHASED_PLANS_SCREEN”,键:“PURCHASED_PLANS_SCREEN-uGn3VLNPHiBMjbObcsk50”,参数:未定义} 1:{名称:“MY_ORDERS”,键:“MY_ORDERS-Cb5N0-s_4oVEZXNjc90s4”,参数:未定义} 长度:2 这种奇怪行为背后的原因是什么?

0 个答案:

没有答案