Please enable JavaScript.
Coggle requires JavaScript to display documents.
React Native (基礎元件 (View, Text, Image, FlatList 取代 ListView (效能差)
…
React Native
基礎元件
-
-
-
FlatList
功能:
- 完全跨平台;
- 支持水平布局模式;
- 行组件显示或隐藏时可配置回调事件;
- 支持单独的头部组件;
- 支持单独的尾部组件;
- 支持自定义行间分隔线;
- 支持下拉刷新;
- 支持上拉加载更多;
- 支持跳转到指定行(ScrollToIndex)。
注:如果需要实现分组/类/区的效果,请使用<SectionList>
组件。
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
放棄 React Native
採用的理由
- 跨平台解决方案具有更高的可行性
- 大多数(2/3 开发人员)团队成员非常适应 Javascript 和 Web 开发
- 可以提高开发速度
- 来自公司之外其他团队的成功案例
放棄的理由
*. 同时需要在两个平台上构建的功能数量越来越少*.Android 特定需求在增加*. 对长期维护成本感到沮丧*.Android 团队不愿继续使用 React Native
-
-
樣式 & 排版
Flexbox
-
-
專業名詞
-
axis: 有”坐標軸”、“基準線”的意思。Flexbox 使用 main axis(主基準線)與 cross axis(相反基準線)來區分水平與垂直的兩個不同的基準線,main axis(主基準線)代表的主要的基準線,依照 flexDirection 的屬性來決定主基準線是水平的還是垂直的方向。cross axis(相反基準線)則是與主基準線相反的基準線。基準線代表的是容器(container)中的項目排列時按照的方向規範。
container 與 items: container(容器)中裝有 items(項目),這兩個在 DOM 元素中有 父母-子女(parent-children) 關係。Flexbox 的排列、對齊、方向等等屬性是在 container(容器) 中定義的,當然這是指對容器中的項目們所作的屬性定義。
grow、shrink、basis: 這三個是項目的屬性定義值。grow 有”成長”、“變大”的意思,shrink 則有”收縮”、“縮水”的意思。basis 則是”基礎”、“標準”的意思。這三個是用於項目(元件)的”彈性“屬性,也就是在版面或外部容器的尺寸變動時,項目應該如何隨之進行變動。
wrap、nowrap、wrap-reverse: wrap 有”包裝”的意思,但用在這裡是代表要不要擠在同一行之中,nowrap代表這個容器中的項目是只能擠在同一行之中,wrap則是允許多行。wrap-reverse與wrap一樣可以允許多行,但開始與結束會顛倒過來。-reverse字詞很常見,它是”顛倒”的意思。
align-items、align-self、align-content: align 是”對齊”的意思。align-self 是用於項目(元件)的屬性,align-items 與 align-content 是用於容器的屬性,都是用來作對齊使用的。這幾個都是應用在 cross axis(相反基準線)時。
-
-
flow: flow 是”流動”的意思,在這裡的意思是排列的情況。flex-flow 是 flex-direction 與 flex-wrap 的組合簡寫法,合稱dw。(註: React Native 中沒這個屬性)
-
是什麼?
- 用 javascript 撰寫 ios/Android 原生應用的架構
- 以 React 為基礎
為什麼需要他?
- 可用 Javascript開發 Android/iOS 原生應用
- UI 操作流暢度接近原生
- 可透過 Swift/Java 封裝元件來使用
- 平台可共用 js 代碼
-
如何運作?
- React Native 的 Virtual DOM 將標籤以原生 UI 來渲染
-