react-native開發總結

来源:https://www.cnblogs.com/liu-fei-fei/archive/2018/08/20/9504910.html
-Advertisement-
Play Games

項目地址:http://liu12fei08fei.github.io/blog/41react native.html 說明 • 項目總結代碼地址 • 從項目開始啟動(2018 07 02)到項目進入測試(2018 08 20) • 從我基本沒用過react,到直接上手react native • ...


項目地址:http://liu12fei08fei.github.io/blog/41react-native.html
說明
• 項目總結代碼地址
• 從項目開始啟動(2018-07-02)到項目進入測試(2018-08-20)
• 從我基本沒用過react,到直接上手react-native
• 其實從內心我是又愛又怕,愛是我確實很早就像下手除Vue以外的框架,多接觸和學習一些不一樣的思想;怕是前端就我一個,一切坑都由自己來抗;可想而知,內外壓力一定會很大
• 過程就是日復一日的研究在研究,不停地問問題,然後在研究;開發rn很想開發小程式,更多時候還是利用rn提供的組件,再加上一些js技巧
• 結果:自己對社區的利用更加的順手,面對難題不在過分畏懼而是不斷深入思考,直至解決
• 心理:其實直面難題並不難,難的是自己看到了難題背後還有無數個難題,這時候自己就不想面對了;後來知道與其逃避,不如遇到一個幹掉一個,不然攻城獅不是白叫了
• 下麵是自己在實際中從開始到結束總結的一些東西,後續隨著進展還會更新
簡介
• 記錄開發react-native中各種有意思的事情
• 最新探索,用來進行各種嘗試的空間
• 完成的探索,記錄所有已經完成的模塊、功能和效果
• 中轉站,暫時無用
安裝
全局腳手架
npm i -g react-native-cli
安裝基礎項目
react-native init <項目名稱>
運行
優化後的運行
• ios:npm run ios
• android:npm run android
• ios and android:npm run s
原始啟動
• ios:react-native run-ios
• android:react-native run-android
資源
• navigation集成
• 集成icons
• react-native-easy-toast
• rn資源列表
• 橫向滑動展示按鈕效果
• 自定義行動列表
• 密碼輸入效果
• 選項卡導航之間滑動
• 二維碼生成
未探索的資源
365個庫中尋找77個
1. select選擇控制項
2. 開關式選擇列表
3. 表情選擇器
4. 左右滑動層
5. 手機號選擇控制項
6. 登錄動畫
7. 圖片查看器
8. 菜單操作動畫
9. 滑動操作圖片展示樣式
10. 操作打字效果
11. 聲音可視化
12. 占位符
13. 圖片查看器
14. 模糊背景效果
15. 本地圖片超級操作
16. 四面八方拖動效果
17. 信用卡輸入效果
18. 展開動畫效果
19. chart
20. 初始化啟動頁
21. 日期
22. 左右滑動操作卡片效果
23. 列表拖拽
24. chart
25. 密碼鎖效果
26. 星級評價
27. 手動簽字
28. 滑動時間軸效果
29. 國家26字母選擇
30. PDF查看
31. 26字母選擇
32. 分享
33. 對話框
34. 電話、地址等操作
35. 後臺信息保護
36. 圖片查看器
37. 左右滑動動畫
38. 無網路操作
39. 顏色選擇器
40. 左右滑動tab動效
41. 載入中效果
42. 左右滑動效果,類似酷劃鎖屏
43. 二維碼生成器
44. 圖片查看器
45. 視差效果
46. 日期
47. 點擊效果、
48. 扇形菜單
49. 手勢識別
新增頁面需要在三個地方進行操作
1. data裡面的complete.js中添加數據,方便在完成的探索中出現
2. navigators中的AppStackNavigators.js裡面進行引入=>註冊,使得路由正常
3. pages裡面添加頁面
優化package.json使開發更加方便
• 在scripts中添加,如下內容:
"ios":"react-native run-ios",
"android":"react-native run-android",
"s":"npm run ios && npm run android",
flex佈局常用屬性
• 防止在flex中出現,固定元素被擠壓的問題,使用flex:1進行優化
display: 'flex';
flexDirection: row | row-reverse | column | column-reverse;
flexWrap: nowrap | wrap | wrap-reverse;
flexFlow:

order:

  • Run Proguard to shrink the Java bytecode in release builds.
    /
    def enableProguardInReleaseBuilds = true
    錯誤處理
    fetch(apiLogin, {
    method: 'POST',
    headers: {
    'Accept': 'application/json',//通過頭指定,獲取的數據類型是JSON
    'Content-Type': 'application/json',
    'Authorization':global.data.token,
    },
    body: JSON.stringify({
    // 請求參數
    })
    })
    .then(result => {
    const {status,statusText} = result;
    if(status>=200&&status<300||status==304){
    // 成功
    const promise = result.json()
    promise.then(rtn=>{
    // 成功
    })
    }else if(status==403){
    // 跳轉登錄
    this.props.navigation.replace('login');
    }else{
    // 提醒 statusText
    this.refs.toast.show(statusText);
    }
    })
    .catch(error => {
    if(Object.prototype.toString.call(error) === '[object Object]'){
    this.refs.toast.show(JSON.stringify(error))
    }else{
    this.refs.toast.show(error)
    }
    })
    app的logo and name
    android
    LOGO
    • 將logo分別放到android/app/src/main/res下的四個文件夾中,命名為ic_launcher.png
    • 沒有對應上的文件夾放一張1024
    1024或者512*512的即可
    app名稱
    • 在android/app/src/main/res/values/strings.xml中更改
    IOS
    LOGO
    • xcode> 根目錄 >Images.xcassets 將生成的圖標拖入對應的位置
    app名稱
    • xcode> 根目錄 >Info.plist 中修改 Bundlename 和 General> DIsplay Name

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1、實現動態圖片的切換隻需要改變目標圖片的路徑 ...
  • FormData格式提交的post參數可以直接從req.body里取,而axios用request payload,req.body都是空對象。 百度一圈,全是你抄我我抄你,要麼讓你繞路用contentType+JSON.stringfy,要麼就res.on流讀取請求數據,一點都不優雅好麽。其實沒那 ...
  • 得益於 JavaScript 加入的 decorator 特性,可以使我們跟 Java/C 一樣,更加直觀自然的,做面向切麵編程。而隨著 TypeScript 的成熟,類型系統也讓我們增強了信心,面對複雜的業務邏輯,也更有底氣。 "egg controller" 是集合了一些在 Controller ...
  • 序言 這裡要講的就是一個Redux在React中的應用問題,講一講Redux,react redux,redux thunk,redux actions,redux promise,redux sage這些包的作用和他們解決的問題。 因為不想把篇幅拉得太長,所以沒有太多源碼分析和語法講解,能怎麼簡單 ...
  • 前幾天安卓真機測試的時候,突然發現一個嚴重的問題。 後退兩次退出應用,再開啟白屏。而殺掉進程後再開啟就是好的。 這個重大bug我跟了好久,以為是splash-screen的問題。 後來一點一點打console,才找出問題————redux在後退兩次退出時,未重置,而保留了退出前的狀態值。 我不知道為 ...
  • 萬惡的IE,option竟然不支持display樣式,想到的解決思路有二個: 1、ajax聯動查詢 2、jQuery的remove()、after()方法 方法1的不好之處是初始頁面,需要顯示全部IP,本來已經從後臺查詢了一次,如果再利用ajax,會給伺服器造成壓力,所以採用方法2。 後臺code ...
  • 堆排序 堆排序是利用堆這種數據結構而設計的一種排序演算法,堆排序是一種選擇排序,它的最壞,最好,平均時間複雜度均為O(nlogn),它也是不穩定排序。首先簡單瞭解下堆結構。 堆是具有以下性質的完全二叉樹:每個結點的值都大於或等於其左右孩子結點的值,稱為大頂堆;或者每個結點的值都小於或等於其左右孩子結點 ...
  • 在通常的登錄界面我們都可以看到驗證碼,驗證碼的作用是檢測是不是人在操作,防止機器等非人操作,防止資料庫被輕而易舉的攻破。 驗證碼一般用PHP和java等後端語言編寫。 但是在前端,用canva或者SVG也可以繪製驗證碼。 繪製驗證碼不能是簡單的隨機字元串,而應該在繪製界面有一些干擾項: 如:干擾線段 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...