Lazy loaded image
Rn相关组件、插件的使用
Words 1379Read Time 4 min
2026-1-4
2026-1-8
type
status
date
slug
summary
tags
category
icon
password

📝 核心组件

Stack(堆栈)

使用后当前页面顶部会出现title以及返回按钮

SafeAreaView

简单来说,SafeAreaView 的作用是确保你的内容显示在设备屏幕的“安全”范围内。
观察你上传的 NFT 设计图,你会发现:
  • 状态栏位置:中间页面的“9:41”时间和电量图标下方,需要留出足够的空间,否则搜索框会顶到最上面。
  • 底部间距:右侧详情页的 "Place Bid" 按钮下方有一块空白区域。这不仅是为了美观,更是为了避开 iPhone 底部的 Home Indicator。

zustand库(仓库)

安装命令:大小写:永远记得 npm i zustand
注意:在 React Native 环境中,浏览器的 localStorage 不可用,所以我们需要使用 AsyncStorage 作为持久化存储的后端。
 

GestureHandlerRootView(手势接管)

在开发你图中的 NFT 应用时,GestureHandlerRootView 是实现流畅交互(如下拉刷新、滑动切换 NFT 卡片、侧滑返回等)的基石。
它是 react-native-gesture-handler 库提供的一个必备组件。

1. 它的核心作用:手势接管

React Native 原生的手势处理系统在面对复杂的交互(尤其是手势嵌套,比如在一个滚动的列表里还有一个滑块)时,性能往往不够理想,甚至会产生冲突。
GestureHandlerRootView 的作用是:在原生层(Native Side)创建一个手势监听的“根容器”。它会接管所有子组件的手势信号,并利用原生性能进行高效分发,从而避免 JavaScript 线程卡顿时导致的手势延迟。
 

TouchableOpacity(点击反馈)

它主要用于包裹任何你想要变成“可点击”的内容(如文字、图片或视图)。

进阶:它与 Pressable 的区别

虽然 TouchableOpacity 很经典,但在现代 React Native 开发中,你可能会看到另一个组件:Pressable
特性
TouchableOpacity
Pressable
反馈效果
仅限透明度变化(内置好)
无默认效果(需手动编写样式)
灵活性
较低,样式单一
极高,可以根据点击状态改变颜色、缩放等
推荐场景
快速开发、标准的 iOS 风格按钮
需要复杂的动效(如点击时按钮变大)

lucide-react-native图标库

 

BlurView(毛玻璃效果)

它是由 expo-blur 库提供的,专门用于实现 iOS 风格的毛玻璃(半透明模糊)效果。在 Android 上,它通过半透明颜色进行回退处理(在较新的版本中也支持了实验性的模糊效果)。
 

Gesture.Pan()(拖拽识别)

Gesture.Pan() 用于监听手指在屏幕上按下、移动并抬起的全过程。它会实时提供手指移动的物理数据。
 

RefreshControl(顶部下拉刷新)

上一篇
纪念出了一颗非洲之星
下一篇
RN项目构建-NFT移动交易市场