reactnavigation 点击底部tab怎么传递参数?

reactnavigation 点击底部tab怎么传递参数?
可以通过在底部tab的onPress事件中调用navigation.navigate方法,并在第二个参数中传递参数来实现传递参数。

例如:

({
     tabBarButton: (props) => (
       {
          console.log(props)
          console.log(navigation)
          // 传递参数
          navigation.navigate('扫一扫', { page: 'aaa' });
        }}
      />
    ),
  })} 
/>

在HomeScreen组件中可以通过route.params获取传递的参数。

例如:

function HomeScreen({ route }) {
  const { param1, param2 } = route.params;
  // 使用传递的参数
  return (
    
      {param1}
      {param2}
    
  );
}

Tab.Navigator 配置
Tab.Navigator是React Navigation中用于创建底部导航栏的组件,它可以通过一些配置来自定义底部导航栏的样式和行为。

以下是一些常用的Tab.Navigator配置:

initialRouteName:指定初始路由名称。

tabBarOptions:配置底部导航栏的样式和行为,例如颜色、图标、标签等。

screenOptions:配置每个Tab.Screen的默认选项,例如标题、图标等。

tabBarIcon:自定义底部导航栏图标的组件。

tabBarLabel:自定义底部导航栏标签的组件。

以下是一个示例代码:

import { createBottomTabNavigator } from '@react-navigation/bottom-tabs';
import { MaterialCommunityIcons } from '@expo/vector-icons';

const Tab = createBottomTabNavigator();

function MyTabs() {
  return (
     ({
        tabBarIcon: ({ focused, color, size }) => {
          let iconName;

          if (route.name === 'Home') {
            iconName = focused
              ? 'home'
              : 'home-outline';
          } else if (route.name === 'Settings') {
            iconName = focused ? 'settings' : 'settings-outline';
          }

          // You can return any component that you like here!
          return ;
        },
      })}
    >
      
      
    
  );
}

在这个示例中,我们使用了MaterialCommunityIcons组件来自定义底部导航栏的图标,使用了activeTintColor和inactiveTintColor来配置选中和未选中状态下的颜色,使用了screenOptions来配置每个Tab.Screen的默认选项。

你可能感兴趣的:(前端,javascript,react.js)