按下标题React Navigation v5

时间:2020-06-04 11:46:04

标签: react-native react-navigation-v5

我处于这种困难的情况下,需要一些帮助。

我正在开发此显示本地事件或活动的应用。

GPS距离过滤器屏幕:

Text

MainTabNavigator,其屏幕包括TopTabNavigator:

Text

我具有以下导航结构:

MainTabNavigator->

  • 选项卡1:“事件”

    • 堆栈导航器
      • TopTabNavigator
        • 选项卡1:“热门”
          • FlatList
        • 选项卡2:“本周”
          • FlatList
        • 标签3:“很快”
          • FlatList
        • 选项卡4:“在线活动”
          • FlatList
      • Gps距离过滤器屏幕
  • 选项卡2:“活动”

    • TopTabNavigator
      • 选项卡1:“热门”
        • FlatList
      • 选项卡2:“全部”
        • 平面列表
          • 标签3: 等等...

MainTabNavigator在options属性中提供了一个标题:

<Stack.Screen
    options={{
        headerTitle: '',
        headerLeft: () => MainTabNavigatorLeftHeader(navigation),
        headerRight: () => MainTabNavigatorHeaderRight(navigation),
        headerStyle: MainHeaderStyle
    }}
    name="Events"
    component={EventsScreen}
/>

标题中有一个按钮,单击该按钮将打开GPS距离过滤器屏幕,可以在其中选择半径以查看特定KM半径内的内容。

然后,当他按标题中包含的“ Gps距离筛选器”屏幕上的后退按钮时,您将返回到带有顶部标签和内部列表的maintabnavigator。因此,当KM半径已更改(我通过AsyncStorage保存选定的半径)时,我需要刷新所有“顶部”选项卡屏幕上的所有平面列表。

我尝试通过焦点添加侦听器或钩子来执行此操作,但是然后在顶部标签更改或顶部标签滑动时也会刷新所有列表,有什么方法可以有效地做到这一点吗?

Toptab屏幕全部由一个组件生成,因此我只需要触发该组件中的一个功能即可刷新所有屏幕。

0 个答案:

没有答案