状态更改后刷新屏幕 [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
到导航
我正在回答我自己的问题。
我通过导入 SidebarMenuContainer
并将其分配给 contentComponent 解决了这个问题
而不是 SidebarMenuComponent
.
我使用的是 react-navigation v5,unmountOnBlur 选项对我有用
我在 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
到导航
我正在回答我自己的问题。
我通过导入 SidebarMenuContainer
并将其分配给 contentComponent 解决了这个问题
而不是 SidebarMenuComponent
.
我使用的是 react-navigation v5,unmountOnBlur 选项对我有用