RN學習筆記 ?

太無聊了最近,找點事做,學一下RN豐富一下技術棧🫡。但是開發APP除了RN,還有一種選擇就是WebView,但是基于WebView的APP的性能被普遍認為不如RN,因為WebView本質上是一個容器,用于在應用中嵌入網頁或 HTML,它最主要的工作是將Web內容(HTML、CSS和JS)渲染到應用中。基于WebView的APP就像“在手機里又下載了一個瀏覽器,這是這個‘瀏覽器’專門用來呈現這個APP的內容”?像通過uni-app開發的APP就是默認基于WebView技術的。

而RN是一個混合框架,它通過橋接將JS和原生代碼(如iOS的Objective-C或Swift,Android的Java或Kotlin)連接起來,我們可以使用React來編寫UI和交互,而一些性能要求較高的部分(如攝像頭、加速計等)則可以通過原生模塊來處理。

RN的橋接我覺得很像Electron,Electron最猛的就是“可以調用Node環境下的API,再通過進程間的通信把調用結果傳遞到渲染進程(UI界面)。而Node那些API干的活便是調用操作系統提供的接口 (如果我沒記錯的話)”,這種做法帶來的作用就是開發者“仿佛可以在瀏覽器環境下調用操作系統原生的功能”,也算得上一種“橋接”吧。但Electron在渲染進程里干的事又很像WebView,因為他的UI是跑在瀏覽器環境下的,之前在zhihu上看到過一老哥說的一句話賊經典:一想到一下載一個Electron應用,我的電腦里就多了一個V8引擎我就覺得惡心。

在這里插入圖片描述

環境準備(IOS開發):

  • XCode 14
  • watchman 2025.04.28.00(監控文件變化。brew install watchman
  • cocoapods 1.16.2(包管理器,類似npm。brew install cocoapods
  • 初始化RN應用:npx @react-native-community/cli init MyFirstRN,React版本為19,RN版本為0.79.2
  • 在Mac上調試:
    1. cd ios
    2. pod install
    3. cd ../
    4. yarn run ios
  • 在iPhone上調試:指南

目錄


核心組件和原生組件

核心組件是RN內置的組件,它們封裝了原生平臺(iOS和Android)上的基本UI元素,包括但不限于:

View:類似于HTML中的<div>,用于布局和組織其他組件。
Text:用于顯示文本內容,類似于HTML中的<span>或<p>。
Image:用于顯示圖片,類似于HTML中的<img>。
ScrollView:用于允許內容滾動,類似于HTML中的<div>配合overflow: scroll。
TextInput:用于用戶輸入文本,類似于HTML中的<input>或<textarea>。
Button:用于創建按鈕,類似于HTML中的<button>。
FlatList 和 SectionList:用于高效地渲染列表數據。
TouchableOpacity 和 TouchableHighlight:用于處理觸摸事件。

核心組件的優勢在于它們是RN的一部分,通常具有更好的跨平臺一致性

原生組件是指直接使用原生平臺(iOS或Android)的UI組件,而不是通過RN封裝的組件。開發原生組件通常需要編寫原生代碼,因此更適合需要高度定制化和高性能的場景。iOS原生組件使用Objective-C或Swift編寫,Android原生組件使用Java或Kotlin編寫。

但是有一個問題:RN的項目的編程語言是JS(TS),如果我非要用原生組件則意味著要寫其他語言,這還怎么整合?還是以iOS開發為例,封裝原生組件的過程為:

  1. 創建一個新的Objective-C或Swift類
  2. 使用RCTBridgeModule協議來注冊模塊
  3. 在類中實現需要的功能和方法
  4. 在RN項目中使用這個組件

困得一批,先睡覺了明天再學 🥱

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/904396.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/904396.shtml
英文地址,請注明出處:http://en.pswp.cn/news/904396.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

聊天助手提示詞調優案例

一、背景 今天有粉絲說自己的聊天助手提示詞輸出的效果不好&#xff0c;輸出的內容不是太呆板就是太浮夸&#xff0c;希望更像真人一樣。 本文介紹幾個調優方法&#xff0c;希望對大家有啟發。 二、調優 《系統掌握大語言模型提示詞 - 從理論到實踐》提示詞小冊中介紹了很多…

5.6 react組件化開發基礎

react 組件開發基礎 組件分類與組件使用 組件傳參 父傳子 【函數數據傳值 實參 形參對應關系】 子傳父 插槽 透傳 useContext 上下文&#xff08;作用域&#xff09; 跨層級調用方法 通過子組件的實例對象useRef 直接調用子組件的方法 和數據 狀態管理&#xff08;非常多…

【SF順豐】順豐開放平臺API對接(Java對接篇)

對接前置篇&#xff1a; 【SF順豐】順豐開放平臺API對接&#xff08;注冊、API測試篇&#xff09;_順豐api接口對接指南-CSDN博客 1.實現效果展示 2.SF順豐開放平臺&#xff0c;JDK資源下載。 下載地址&#xff1a;順豐開放平臺 3.將下載的JDK放入項目中。 4.將JDK資源引入p…

我用cursor 搭建了臨時郵箱服務-Temp Mail 365

用業余時間搭建了一個臨時郵箱&#xff0c;對于后端程序員出身的我&#xff0c;對前端了解的不太多&#xff0c;有了cursor的幫助&#xff0c;補齊了自己的短板&#xff0c;搭建了這個服務&#xff0c;下面對臨時郵箱架構設計與安全性做一個分析。 https://temp-mail-365.com 臨…

破解工業3D可視化困局,HOOPS Visualize助力高效跨平臺協作與交互!

一、當前3D可視化面臨的痛點 &#xff08;1&#xff09;性能瓶頸 現有的許多3D可視化工具在處理大型復雜模型時往往力不從心。例如在航空航天、汽車制造等高端制造業&#xff0c;動輒涉及數以億計的三角面片和海量的紋理細節。這些超大規模的模型在渲染時常常出現卡頓、延遲&…

1、Kafka與消息隊列核心原理詳解

消息隊列&#xff08;Message Queue, MQ&#xff09;作為現代分布式系統的基礎組件&#xff0c;極大提升了系統的解耦、異步處理和削峰能力。本文以Kafka為例&#xff0c;系統梳理消息隊列的核心原理、架構細節及實際應用。 Kafka 基礎架構及術語關系圖 術語簡要說明 Produce…

2025年北京市職工職業技能大賽第六屆信息通信行業網絡安全技能大賽初賽-wp

- -考試當場沒做出來 后面做的 misc ? cd misc ? ls num.docx num.zip ? unzip num.docx Archive: num.docxinflating: [Content_Types].xmlinflating: _rels/.relsinflating: word/document.xmlinflating: word/_rels/document.xml.relsextracting: word/media/image1.jp…

JavaScript 到命令和控制 (C2) 服務器惡意軟件分析及防御

攻擊始于一個經過混淆的JavaScript文件,該文件從開源服務中獲取編碼字符串以執行PowerShell腳本。然后,該腳本從一個IP地址和一個URL縮短器下載一個JPG圖像和一個文本文件,這兩個文件都包含使用隱寫術嵌入的惡意MZ DOS可執行文件。這些有效載荷一旦執行,就會部署Stealer惡意…

【計網】ipconfig、ping、arp、tracert

目錄 ipconfig ping arp tracert cmd ipconfig ipcofig -all IPv4 物理地址 ping 檢測網絡連通情況&#xff0c;分析網絡速度 根據域名得到服務器IP 根據TTL判斷對方所使用的操作系統以及數據包經過路由器數量 byte數據包大小 time響應時間 TTLDNS記錄在DNS服務器上存在…

WiFi那些事兒(八)——802.11n

目錄 802.11n 技術簡介與測試項 一、802.11n 技術簡介 &#xff08;一&#xff09;標準概述 &#xff08;二&#xff09;關鍵技術特性 1. MIMO&#xff08;多輸入多輸出&#xff09;技術 2. 信道綁定&#xff08;Channel Bonding&#xff09; 3. 幀聚合&#xff08;Fram…

碼蹄集——直角坐標到極坐標的轉換、射線、線段

目錄 MT1052 直角坐標到極坐標的轉換 MT1066 射線 MT1067 線段 MT1052 直角坐標到極坐標的轉換 思路&#xff1a; arctan()在c中是atan()&#xff0c;結果是弧度要轉換為度&#xff0c;即乘與180/PI 拓展&#xff1a;cos()、sin()在c代碼中表示方式不變 #include<bits/…

深入解析 Linux/Unix 通信機制:從原理到觀測實踐

深入解析 Linux/Unix 通信機制&#xff1a;從原理到觀測實踐 配圖建議&#xff1a;Linux系統架構與通信機制全景示意圖 一、開篇&#xff1a;理解“一切皆文件”的哲學 Unix/Linux 操作系統的核心靈魂在于其獨特的設計哲學。當 Dennis Ritchie 和 Ken Thompson 在貝爾實驗室開…

spring上傳文件添加水印

1、實現 MultipartFile package com.pojo.common.core.domain;import java.io.ByteArrayInputStream; import java.io.File; import java.io.IOException; import java.io.InputStream;import org.springframework.lang.Nullable; import org.springframework.util.Assert; im…

嵌入式MCU語音識別算法及實現方案

在嵌入式MCU&#xff08;微控制器單元&#xff09;中實現語音識別&#xff0c;由于資源限制&#xff08;如處理能力、內存、功耗等&#xff09;&#xff0c;通常需要輕量級算法和優化技術。以下是常見的語音識別算法及實現方案&#xff1a; 一、傳統語音識別算法 動態時間規整&…

【論文閱讀】DETR+Deformable DETR

可變形注意力是目前transformer結構中經常使用的一種注意力機制&#xff0c;最近補了一下這類注意力的論文&#xff0c;提出可變形注意力的論文叫Deformable DETR&#xff0c;是在DETR的基礎上進行的改進&#xff0c;所以順帶著把原本的DETR也看了一下。 一、DETR DETR本身是…

大模型在宮頸癌診療全流程預測與應用研究報告

目錄 一、引言 1.1 研究背景與意義 1.2 研究目的與創新點 二、大模型預測宮頸癌術前風險 2.1 術前數據收集與預處理 2.2 預測模型構建與算法選擇 2.3 術前風險預測指標與案例分析 三、大模型輔助制定術中方案 3.1 術中風險動態監測與預測 3.2 基于預測的手術方案優化…

【Python 文件I/O】

Python 的文件 I/O 操作是數據處理的基礎技能&#xff0c;涉及文件的讀寫、路徑管理、異常處理等核心功能。以下是文件 I/O 的核心知識點&#xff1a; 一、基礎文件操作 1. 打開文件 # 通用模式&#xff1a;r(讀)/w(寫)/a(追加) b(二進制)/t(文本&#xff0c;默認) f open(…

Twin Builder 中的電池等效電路模型仿真

電池單元熱設計挑戰 電池熱管理的主要挑戰之一是確保溫度低于最大工作限值。較高的溫度會導致效率降低、加速老化和潛在的安全隱患。工程師必須了解電池產生的熱量&#xff0c;才能充分設計冷卻系統。 了解和預測電池模塊的熱行為需要將電池的熱損耗與電池單元的電氣機械特性…

一種基于條件生成對抗網絡(cGAN)的CT重建算法

簡介 簡介:該文提出了一種基于條件生成對抗網絡(cGAN)的CT重建算法,通過引入CBAM注意力機制增強網絡對關鍵特征的提取能力,有效解決了CT成像中因噪聲干擾導致的重建精度下降問題。實驗采用固體火箭發動機模擬件數據集,將正弦圖分為五組并添加不同程度的噪聲進行訓練。結…

【Redis篇】linux 7.6安裝單機Redis7.0(參數優化詳解)

&#x1f4ab;《博主主頁》&#xff1a; &#x1f50e; CSDN主頁 &#x1f50e; IF Club社區主頁 &#x1f525;《擅長領域》&#xff1a;擅長阿里云AnalyticDB for MySQL(分布式數據倉庫)、Oracle、MySQL、Linux、prometheus監控&#xff1b;并對SQLserver、NoSQL(MongoDB)有了…