navigasi tindak balas akan menyuntik navigasi ke dalam prop semua halaman penghalaan berdaftar Cara menggunakannya: 1. Buat laluan utama melalui "const Main = createStackNavigator({...})"; createBottomTabNavigator" "Buat bar tab bawah; 3. Buat laluan suis khas melalui "createSwitchNavigator", dsb.
Persekitaran pengendalian tutorial ini: Sistem Windows 10, bertindak balas versi 18.0.0, komputer Dell G3.
Bagaimana untuk menggunakan kaedah navigasi bertindak balas?
react-navigation Kaedah biasa
react-navigation ialah pengurus penghalaan yang digunakan oleh projek rn; selain menyediakan pengurusan sejarah penghalaan, terdapat juga komponen UI navigator! ;
react-navigation akan menyuntik navigasi ke dalam prop semua halaman laluan berdaftar!!!
1 Cipta laluan utama;
createStackNavigator
. di mana Termasuk pada asasnya semua penghalaan halaman yang digunakan dalam projek;
const Main = createStackNavigator({ Tab: { screen: Tab, navigationOptions:{ header:null } } 。。。 },{ initialRouteName :'Tab', })
2. Cipta bar tab bawah; halaman utama apl
3 Cipta laluan suis khas, halaman sebelum melompat tidak akan memasuki timbunan sejarahconst Tab = createBottomTabNavigator({ Home: { screen: Home, navigationOptions:{ header:null, title:'最热', tabBarIcon:({focused,tintColor})=>{ return ( <MCIcon name="chili-hot" size={16} color = {focused?tintColor:'#404040'}></MCIcon> ) } } }, 。。。 },{ initialRouteName :'Home', tabBarOptions:{ activeTintColor:'#1d85d0' } })
createSwitchNavigator //欢迎页跳转不可返回 const Navigation = createSwitchNavigator({ Init:Init, Main:Main },{ initialRouteName :'Init' })
createMaterialTopTabNavigator export default class Home extends Component { render() { const TabNav = createMaterialTopTabNavigator({ Tab1:{ screen: Tab1, navigationOptions:{ title:'tab1', header:null } } 。。。 },{。。。}) return ( <TabNav/> ) } }
headerTitleStyle: gaya teks tajuk
headerStyle: title as a whole Style
6 Atribut rujukan bahagian tab
Komponen BottomTabBar juga boleh menggunakan atribut ini 7 >tabBarOptions - 具有以下属性的对象: activeTintColor -活动选项卡的标签和图标颜色。 activeBackgroundColor -活动选项卡的背景色。 inactiveTintColor -"非活动" 选项卡的标签和图标颜色。 inactiveBackgroundColor -非活动选项卡的背景色。 showLabel -是否显示选项卡的标签, 默认值为 true。 showIcon - 是否显示 Tab 的图标,默认为false。 style -选项卡栏的样式对象。 labelStyle -选项卡标签的样式对象。 tabStyle -选项卡的样式对象。 allowFontScaling -无论标签字体是否应缩放以尊重文字大小可访问性设置,默认值都是 true。 safeAreaInset - 为 <SafeAreaView> 组件重写 forceInset prop, 默认值:{ bottom: 'always', top: 'never' }; top | bottom | left | right 的可选值有: 'always' | 'never'。
>
Halaman utama ialah laluan peringkat pertama, halaman butiran ialah laluan peringkat kedua, dan kedua-dua halaman ditetapkan Fungsi panggil balik BackHandler jika BackHandler secara terperinci tidak ditangkap oleh halaman semasa, ia akan dihantar ke fungsi panggil balik BackHandler di rumah; maka this.props.navigation di rumah merujuk kepada halaman utama, bukan perincian, jadi Memanggil goBack juga tidak akan berjaya! ! !Penyelesaian:
this.props.navigation.goBack()
Gunakan NavigationActions;
Semua NavigationActions mengembalikan objek yang boleh dihantar ke penghala menggunakan kaedah navigation.dispatch().
Menyokong operasi berikut:
Navigasi - Navigasi ke laluan lain
Kembali - Kembali ke keadaan sebelumnya Set Params - Tetapkan parameter untuk Parameter laluan yang diberikan
Init - digunakan untuk memulakan keadaan pertama apabila keadaan tidak ditentukan
Lihat dokumentasi untuk butiran: https://reactnavigation.org/docs/zh-Hans/navigation -actions.html
Pas:
untuk melaksanakan operasi pemulangan; Nota: Kaedah dispatch() ada dalam ini. props.navigation disyorkan pembelajaran: "tutorial video bertindak balas
"Atas ialah kandungan terperinci Cara menggunakan kaedah navigasi bertindak balas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!