【问题标题】:onPress event on headerLeft under navigation.setOptions is not workingnavigation.setOptions 下 headerLeft 上的 onPress 事件不起作用
【发布时间】:2022-11-23 14:05:09
【问题描述】:

navigation.options 下 headerLeft 上的 onPress 事件不起作用,它仍在执行默认功能,而不是为此覆盖我的 onPress 功能。当我点击后退按钮时,它会移动到某个随机页面,而不是我来自的上一页,所以这就是为什么我试图修改默认功能但它没有选择我的 onPress 功能。

  useLayoutEffect(() => {
    navigation.setOptions({
      headerLeft: () => <Text onPress={()=>{console.log('back');}}>Back</Text>,
      headerRight: () => <DetailsHeader isFavorite={detail.FVT_YN === "Y"} onSharePress={() => _onSharePress(detail)} onFavoritePress={() => _onFavoritePress(detail)} />,
    });
  }, [navigation, detail]);

在我的应用程序中有多个底部导航选项卡,所以如果我删除所有其他选项卡并只保留一个主页选项卡,那么它工作正常,但是当有多个选项卡时,后退按钮会移动到任何其他选项卡页面。 我尝试了几种方法,但都没有用,所以请帮我找出解决方案。

【问题讨论】:

    标签: react-native react-native-navigation


    【解决方案1】:

    尝试这个:

      useLayoutEffect(() => {
        navigation.setOptions({
          headerLeft: () => <Pressable onPress={()=>{console.log('back');}}><Text>Back</Text></Pressable>,
          headerRight: () => <DetailsHeader isFavorite={detail.FVT_YN === "Y"} onSharePress={() => _onSharePress(detail)} onFavoritePress={() => _onFavoritePress(detail)} />,
        });
      }, [navigation, detail]);
    

    【讨论】:

    • 不适合我。
    猜你喜欢
    • 2020-12-06
    • 2019-05-14
    • 2016-11-16
    • 1970-01-01
    • 2021-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多