我的标签导航标头按钮不起作用。我该如何修复?

发布于 2025-01-28 09:58:41 字数 1139 浏览 2 评论 0原文

我正在尝试学习反应的本地,我有问题。在这里,我使用标签导航,我想在右侧添加图像,当用户触摸该图像时,我想使用Navigator,但它不起作用。

import React, { useEffect, useState } from 'react'
import { View, StyleSheet, Image, TouchableOpacity } from 'react-native'
import { NavigationContainer } from '@react-navigation/native';
import { createBottomTabNavigator } from '@react-navigation/bottom-tabs'
import { createStackNavigator } from '@react-navigation/stack';


const TabNavigation = ({ navigation }) => {

    return (
    enter code here

 <Tab.Screen
          name="Home"
          component={HomeScreen}
          options={{
            headerTitle: () => (<Image source={require('../Images/Floody.png')} />),
            headerStyle: {
              height: 100
            },
            headerTitleAlign: 'center',
            headerRight: () => (
              <TouchableOpacity>
                <Image source={require('../Images/profile.jpg')} />
              </TouchableOpacity>
            ),
            tabBarIcon: ({ focused }) => focused ? <HomeImageColorfull /> : <HomeImageBlack />
          }} />

I'm trying to learn react native and I have a problem. Here I use tab navigation and I want to add an image in my headers right side and when the users touch that image I want use navigator, but it doesn't work.

import React, { useEffect, useState } from 'react'
import { View, StyleSheet, Image, TouchableOpacity } from 'react-native'
import { NavigationContainer } from '@react-navigation/native';
import { createBottomTabNavigator } from '@react-navigation/bottom-tabs'
import { createStackNavigator } from '@react-navigation/stack';


const TabNavigation = ({ navigation }) => {

    return (
    enter code here

 <Tab.Screen
          name="Home"
          component={HomeScreen}
          options={{
            headerTitle: () => (<Image source={require('../Images/Floody.png')} />),
            headerStyle: {
              height: 100
            },
            headerTitleAlign: 'center',
            headerRight: () => (
              <TouchableOpacity>
                <Image source={require('../Images/profile.jpg')} />
              </TouchableOpacity>
            ),
            tabBarIcon: ({ focused }) => focused ? <HomeImageColorfull /> : <HomeImageBlack />
          }} />

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

你丑哭了我 2025-02-04 09:58:41

导航对象由导航框架传递给屏幕的选项。因此,您可以为您的touchableOpacity headeright组件实现onpress函数选项。

<Tab.Screen
   name="Home"
   component={HomeScreen}
   options={({navigation}) => ({
            headerTitle: () => (<Image source={require('../Images/Floody.png')} />),
            headerStyle: {
              height: 100
            },
            headerTitleAlign: 'center',
            headerRight: () => (
              <TouchableOpacity onPress={() => navigation.navigate("SomeScreenToNavigateTo")}>
                <Image source={require('../Images/profile.jpg')} />
              </TouchableOpacity>
            ),
            tabBarIcon: ({ focused }) => focused ? <HomeImageColorfull /> : <HomeImageBlack />
          })} />

The navigation object is passed by the navigation framework to the options of the screen. Hence, you can implement a onPress function for your TouchableOpacity of your headerRight component and use the navigation object from the options.

<Tab.Screen
   name="Home"
   component={HomeScreen}
   options={({navigation}) => ({
            headerTitle: () => (<Image source={require('../Images/Floody.png')} />),
            headerStyle: {
              height: 100
            },
            headerTitleAlign: 'center',
            headerRight: () => (
              <TouchableOpacity onPress={() => navigation.navigate("SomeScreenToNavigateTo")}>
                <Image source={require('../Images/profile.jpg')} />
              </TouchableOpacity>
            ),
            tabBarIcon: ({ focused }) => focused ? <HomeImageColorfull /> : <HomeImageBlack />
          })} />
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文