react navigation中點(diǎn)擊底部tab怎么傳遞參數(shù)
可以通過(guò)在底部tab的onPress事件中調(diào)用navigation.navigate方法,并在第二個(gè)參數(shù)中傳遞參數(shù)來(lái)實(shí)現(xiàn)傳遞參數(shù)。
例如:
<Tab.Screen name="Home" component={HomeScreen} options={({ route, navigation }) =>({ tabBarButton: (props) => ( <TouchableOpacity {...props} onPress={() => { console.log(props) console.log(navigation) // 傳遞參數(shù) navigation.navigate('掃一掃', { page: 'aaa' }); }} /> ), })} />
在HomeScreen組件中可以通過(guò)route.params獲取傳遞的參數(shù)。
例如:
function HomeScreen({ route }) { const { param1, param2 } = route.params; // 使用傳遞的參數(shù) return ( <View> <Text>{param1}</Text> <Text>{param2}</Text> </View> ); }
Tab.Navigator 配置
Tab.Navigator是React Navigation中用于創(chuàng)建底部導(dǎo)航欄的組件,它可以通過(guò)一些配置來(lái)自定義底部導(dǎo)航欄的樣式和行為。
以下是一些常用的Tab.Navigator配置:
- initialRouteName:指定初始路由名稱。
- tabBarOptions:配置底部導(dǎo)航欄的樣式和行為,例如顏色、圖標(biāo)、標(biāo)簽等。
- screenOptions:配置每個(gè)Tab.Screen的默認(rèn)選項(xiàng),例如標(biāo)題、圖標(biāo)等。
- tabBarIcon:自定義底部導(dǎo)航欄圖標(biāo)的組件。
- tabBarLabel:自定義底部導(dǎo)航欄標(biāo)簽的組件。
以下是一個(gè)示例代碼:
import { createBottomTabNavigator } from '@react-navigation/bottom-tabs'; import { MaterialCommunityIcons } from '@expo/vector-icons'; const Tab = createBottomTabNavigator(); function MyTabs() { ? return ( ? ? <Tab.Navigator ? ? ? initialRouteName="Home" ? ? ? tabBarOptions={{ ? ? ? ? activeTintColor: '#e91e63', ? ? ? ? inactiveTintColor: '#888', ? ? ? }} ? ? ? screenOptions={({ route }) => ({ ? ? ? ? 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 name={iconName} size={size} color={color} />; ? ? ? ? }, ? ? ? })} ? ? > ? ? ? <Tab.Screen ? ? ? ? name="Home" ? ? ? ? component={HomeScreen} ? ? ? ? options={{ ? ? ? ? ? tabBarLabel: 'Home', ? ? ? ? }} ? ? ? /> ? ? ? <Tab.Screen ? ? ? ? name="Settings" ? ? ? ? component={SettingsScreen} ? ? ? ? options={{ ? ? ? ? ? tabBarLabel: 'Settings', ? ? ? ? }} ? ? ? /> ? ? </Tab.Navigator> ? ); }
在這個(gè)示例中,我們使用了MaterialCommunityIcons組件來(lái)自定義底部導(dǎo)航欄的圖標(biāo),使用了activeTintColor和inactiveTintColor來(lái)配置選中和未選中狀態(tài)下的顏色,使用了screenOptions來(lái)配置每個(gè)Tab.Screen的默認(rèn)選項(xiàng)。
到此這篇關(guān)于react navigation中點(diǎn)擊底部tab怎么傳遞參數(shù)的文章就介紹到這了,更多相關(guān)react navigation tab傳遞參數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
react?hooks?UI與業(yè)務(wù)邏輯分離必要性技術(shù)方案
這篇文章主要為大家介紹了react?hooks?UI與業(yè)務(wù)邏輯分離必要性技術(shù)方案詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11詳解React項(xiàng)目中eslint使用百度風(fēng)格
這篇文章主要介紹了React項(xiàng)目中eslint使用百度風(fēng)格,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09React?hook實(shí)現(xiàn)簡(jiǎn)單的websocket封裝方式
這篇文章主要介紹了React?hook實(shí)現(xiàn)簡(jiǎn)單的websocket封裝方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09react組件中的constructor和super知識(shí)點(diǎn)整理
這篇文章主要介紹了react組件中的constructor和super知識(shí)點(diǎn)整理,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-08-08React避坑指南之useEffect 依賴引用類型問(wèn)題分析
這篇文章主要介紹了React避坑指南之useEffect 依賴引用類型問(wèn)題分析,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03React Hook父組件如何獲取子組件的數(shù)據(jù)/函數(shù)
這篇文章主要介紹了React Hook父組件如何獲取子組件的數(shù)據(jù)/函數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09