状态更改后刷新屏幕 [Drawer navigator react-native]

Refresh a screen after state change [Drawer navigator react-native]

我在 StackNavigator 中有一个 DrawerNavigator。我已经实现了实现汉堡菜单功能的结构。我有一个带有汉堡菜单图标的列表主页。单击该图标后,我会打开一个菜单,就像在亚马逊 flipkart 应用程序中一样。菜单列表是动态的,我需要在状态改变时刷新列表。

这是我的视图层次结构:

export const DrawerMenu = DrawerNavigator({
    Search: {
        screen: Search,
    },
    SidebarMenuComponent: {
        screen: SidebarMenuComponent,
        navigationOptions: {
            headerTitle: Logo,
        }
    },
  }, {
    contentComponent: SidebarMenuComponent,
    drawerWidth: 250,
    drawerPosition: 'left',
    drawerOpenRoute: 'DrawerOpen',
    drawerCloseRoute: 'DrawerClose',
    drawerToggleRoute: 'DrawerToggle',
  });

const RootStack = StackNavigator({ 

    Search: {
        screen: DrawerMenu,
        navigationOptions: {
            headerTitle: Logo,
        }
    },

    ThankYou: {
        screen: ThankYou,
        navigationOptions: {
            headerTitle: 'ThankYou',
            gesturesEnabled: false,
        }
    },
  });

我无法重新加载它。所以我的问题是,对于这种情况,我们如何强制重新加载列表?任何帮助将不胜感激。

谢谢。

添加 addListener 到导航

https://reactnavigation.org/docs/en/navigation-prop.html

我正在回答我自己的问题。

我通过导入 SidebarMenuContainer 并将其分配给 contentComponent 解决了这个问题 而不是 SidebarMenuComponent.

我使用的是 react-navigation v5,unmountOnBlur 选项对我有用