美文网首页
ReactNactive导航

ReactNactive导航

作者: 一只小丫丫 | 来源:发表于2020-04-23 17:48 被阅读0次

    官网 : https://reactnavigation.org/docs/getting-started

    安装 依赖

    npm install @react-navigation/native
    npm install @react-navigation/stack
    npm install @react-navigation/bottom-tabs
    npm install @react-navigation/material-top-tabs react-native-tab-view
    //原生导航
    //堆栈导航
    //底部导航
    //顶部安卓导航
    
    npm install 
    react-native-reanimated
    react-native-gesture-handler 
    react-native-screens 
    react-native-safe-area-context @react-native-community/masked-view
    

    配置

    android/app/build.gradle dependencies 对象里面
    implementation 'androidx.appcompat:appcompat:1.1.0-rc01'
    implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0-alpha02'
    

    堆栈导航

    • 01 导入
    import {NavigationContainer} from '@react-navigation/native';
    //  导航容器
    import {createStackNavigator} from '@react-navigation/stack';
    //  导入创建堆栈导航方法
    
    • 02 创建 堆栈导航
      const Stack = createStackNavigator();
    • 03 创建导航需要的页面
    • 04 包装到导航
    <NavigationContainer>
       <Stack.Navigator>
        <Stack.Screen 
        name="Home" 
        component={Home}
        />
        <Stack.Screen 
        name="Details" 
        component={Details}         
        />
      </Stack.Navigator>
    </NavigationContainer>
    
    //  NavigationContainer 导航容器
    //  Stack.Navigator 堆栈导航
    //  Stack.Screen  堆栈导航页面
    

    页面的跳转

    this.props.navigation

    push                //推入堆栈
    replace            //替换当前页面
    goBack()          //返回
    popToTop()       //回到顶层
    

    参数的处理

    • 传递参数
      navigation.push(“Details”,{id:"abc"})
    • 获取参数
      this.props.route.params.id
    • 配置初始化参数
      <Stack.Screen initialParams={{id:1}}>
    • 堆栈导航参数
      title="详情",标题
      headerStyle:(backgroundColor:"#f30") 标题栏样式

    底部导航

    • 01 导入
    import { NavigationContainer } from '@react-navigation/native';
    // 导入导航容器
    import {createBottomTabNavigator} from '@react-navigation/bottom-tabs'
    // 导入创建底部导航方法
    
    • 02 创建
      const Tab = createBottomTabNavigator();
    • 03 包装
    <NavigationContainer />
      <Tab.Navigator />
        <Tab.Screen  name={} component={} />
    
    • 参数
      Screen.options
    tabBarLabel //底部标签名
    tabBarlcon:({focused})=>( )} //图标
    

    Navigator.tabBarOptions
    activeTintColor //选中的颜色

    • 切换
    this.props.navigation.navigate("名称")
    navigation.navigate(" Home")
    

    顶部导航

    使用步骤

    import { createMaterialTopTabNavigator } from '@react-navigation/material-top-tabs';
    // 导入创建顶部部导航方法
    const TopTab = createMaterialTopTabNavigator();
    // 01 导入并创建顶部导航
    
    • 包装
    <TopTab.Navigator />
        <TopTab.Screen componet={} name="" />
    
    • 参数
      Navigator
      tabBarOptions
    activeTintColor:"#f30",
    //激活颜色
    indicatorStyle:{backgroundColor:"#f30"},
    //提示线条 css
    inactiveTintColor:"#999",
    //非激活颜色
    tabStyle: { width: 150 },
    //标签的样式
    scrollEnabled:true,
    //可以滚动
    

    相关文章

      网友评论

          本文标题:ReactNactive导航

          本文链接:https://www.haomeiwen.com/subject/uevaihtx.html