[React Native]使用 react-navigation 搭建App頂部導航欄

2022-01-15 小憶技術體驗設計團隊

之前用過一段時間的 react-native-scrollable-tab-view,前段時間貌似是因為升級了 Android 的 Gradle 版本,這東西點擊 tab 切換選項卡後會報錯,以前是可以的。

在不懂解決時,只好去尋找其他第三方 npm 包。

後來發現,之前的 react-navigation 全家桶除了能實現底部 tab, 也能實現頂部 tab。

直接上代碼,複製粘貼就能用。

首先要安裝 2 個 npm 包。

npm i -S @react-navigation/material-top-tabs react-native-tab-view

建個 js 文件,開始搬運。

import React from 'react';
import {View, Text} from 'react-native';
import {createMaterialTopTabNavigator} from '@react-navigation/material-top-tabs';

const Tab = createMaterialTopTabNavigator();

export default () => {
  return (
    <Tab.Navigator
      initialRouteName={tabConfig[0].key}
      screenOptions={{
        tabBarActiveTintColor: '#2eb0f9',
        tabBarInactiveTintColor: '#323233',
        tabBarLabelStyle: {fontSize: 16},
        tabBarStyle: {backgroundColor: '#fff'},
        tabBarIndicatorStyle: {backgroundColor: '#2eb0f9'},
      }}>
      {[
        {
          tabLabel: '技術',
          name: 'tech',
        },
        {
          tabLabel: '體驗',
          name: 'experience',
        },
        {
          tabLabel: '設計',
          name: 'design',
        },
      ].map(tab => (
        <Tab.Screen
          name={tab.name}
          options={{tabBarLabel: tab.tabLabel || ''}}
          component={() => (
            <View>
              <Text>{tab.tabLabel || ''}</Text>
            </View>
          )}
        />
      ))}
    </Tab.Navigator>
  )
}

相關焦點

  • 如何使用 React Native 構建實時 to do 應用程式
    原文:https://www.freecodecamp.org/news/how-to-build-a-real-time-todo-app-with-react-native
  • 推薦11 款 React Native 開源移動 UI 組件
    React Native 可以使用最近非常流行的 React.js 庫來開發 iOS 和 Android 原生 APP。1. iOS 表單處理控制項 tcomb-form-nativetcomb-form-native 是 React Native 強大的表單處理控制項,支持 JSON 模式,可插拔的外觀和感覺。
  • ReactNative學習資源大匯集
    https://devdactic.com/react-native-for-beginners/How To Implement A Tab Bar With React Native https://devdactic.com/react-native-tab-bar/tcomb-form-native使用視頻教程(需翻牆) https://react.rocks/example
  • 從零到一:用ReactNative開發的第一個跨平臺app
    ,功能雖簡單,但「麻雀雖小,五臟俱全」,是本人基於Facebook出品的ReactNative開發的第一個跨平臺app,Learn once, write anywhere。": "16.0.0-alpha.6","react-native": "0.44.2","react-native-camera": "^0.6.0",(掃碼)"react-native-deprecated-custom-components": "^0.1.0","react-native-easy-toast": "^1.0.6",
  • React Native開發基礎入門之搭建開發環境
    歡迎使用 React Native!這篇文檔會幫助你搭建基本的 React Native 開發環境。如果你已經搭好了環境,那麼可以嘗試一下編寫 Hello World。根據你所使用的作業系統、針對的目標平臺不同,具體步驟有所不同。如果想同時開發 iOS 和 Android 也沒問題,你只需要先選一個平臺開始,另一個平臺的環境搭建只是稍有不同。
  • 給所有開發者的React Native詳細入門指南
    1)首先是如何引入或刪除一個node模塊2)幾個常用框架tab類react-native-tab-navigator(使用簡單https://github.com/exponent/react-native-tab-navigator)更適合作為底部的tab,使用方式也超級簡單react-native-scrollable-tab-view
  • 分享 50 個完整的 React Native 項目
    下面直奔主題↓↓↓項目名稱:react-native-eyepetizer項目地址:https://github.com/MarnoDev/react-native-eyepetizer項目簡介:模仿開眼
  • 如何用 React Native 開發一款電商 App?
    本文編譯自Hackernoon,原文標題為:Building an e-commerce search app with react native,推薦有一定編程基礎的讀者閱讀。今天我們來聊一聊是如何在RN平臺開發一款用於查找圖書資料庫的電子商務移動app。如果你之前沒有使用過RN,那麼現在就跟我一起開啟你的移動端Javascript開發之旅吧。
  • ReactNative的調試工具Expo
    1採用Native創建ReactNative項目,    工具:react-native-cli     命令:react-native init HelloWorld    源碼:包含了android和ios兩套代碼    執行:react-native run-iso 或者 react-native run-android
  • 5000字的React-native源碼解析
    /App';import {name as appName} from './app.json';AppRegistry.registerComponent(appName, () => App);默認使用AppRegistry.registerComponent幫我們註冊了一個組件(今天不對原理做過多講解,有興趣的可以自己搭建一個React-native腳手架,你會對整套運行原理、流程有一個真正的了解)
  • 現有Android項目引入ReactNative--九步大法
    第三步:添加react和react-native 模塊:在根目錄執行如下代碼:npm install --save react react-native官網http://reactnative.cn/下圖是官網相關介紹:
  • 怎麼理解React Native的新架構?
    當然 Facebook 早已經想到了這個問題,所以在設計 JSI 的時候,就提供了一個 codegen 模塊,幫忙大家完成基礎代碼和環境的搭建,以下我們會簡單為大家介紹怎麼使用 JSI。1、Facebook 提供了一個腳手架工程,方便大家創建 Native Module 模塊,需提前增加 npx 命令。
  • react腳手架create-react-app入門
    記得關注,每天都在分享不同知識不管是哪個前端框架都支持快速開發,通過腳手架可以讓咱們更便捷的構建項目,無需考慮搭建環境問題,今天來聊聊create-react-app腳手架安裝腳手架>npm install -g create-react-app創建項目create-react-app myapp # myapp是項目的名稱,這樣就會在當前目錄生成一個myapp的項目
  • 使用React Native Testing庫進行組件測試(案例詳解)
    為此,我們需要在項目終端中運行以下命令:npm install --save-dev @testing-library/react-native該庫有一個react-test-renderer的peerDependencies列表。對於測試人員,我們將在這裡使用 jest。
  • React Native 已死?
    )Part 2:React Native at Airbnb: The Technology(https://medium.com/airbnb-engineering/react-native-at-airbnb-the-technology-dafd0b43838)Part
  • ReactNative從零到完整項目-嵌入到安卓原生應用
    在Android項目根目錄中使用npm來安裝`react-native` ,這樣同時會創建一個`node_modules/`的目錄。3.  創建js文件,編寫React Native組件的js代碼。4.
  • 超強通用的React Native Tab控制器使用詳解-進階篇
    投稿人:hiphonezhu 地址:http://www.jianshu.com/p/b0cfe7f11ee7本文所講知識點在上一篇文章當中,我們學習了react-native-scrollable-tab-view的基本使用方式,包括基本Props的使用介紹等。
  • React Native 與原生代碼混編
    這兩天主要了解了 React Native 的基本使用,以及和原生代碼混編的方式,最後寫了一個demo,主要實現了在 JavaScript 代碼當中調用
  • 十大最受歡迎的 React Native 應用開發編輯器
    Atom官網:https://atom.io/Github 項目地址:atom(https://github.com/atom)設置:http://flight-manual.atom.io/Atom with React Native:https://blog.sendbird.com/tutorial-build-a-messaging-app-using-react-native
  • 3分鐘搞定React Native中CSS的使用
    內聯方式 Inline Styles內聯定義即是在對象的標記內使用對象的style屬性定義適用其的樣式表屬性。    使用Stylesheet.Create    樣式拼接導出樣式對象下面的代碼是index.ios.js中的代碼:/** * Sample React Native App * https://github.com/facebook/react-native