登录社区云,与社区用户共同成长
邀请您加入社区
本文介绍 React Native 中实现数据持久化的三种核心方案:AsyncStorage(通用键值存储)、SecureStore(加密敏感数据)和 FileSystem(大文件处理),并强调选型原则——敏感数据用 SecureStore,高频读写用 MMKV(需原生构建),兼容性优先用 AsyncStorage。文章详细演示了 AsyncStorage 的基本用法、对象存储封装及自定义 Hoo
本文介绍React Native中让界面“活”起来的动画技术。通过Animated API,使用Animated.Value和Animated.timing实现平滑的透明度变化动画,强调动画不仅是视觉效果,更是用户体验的关键。文章对比了状态更新与动画系统的差异,指出useNativeDriver: true可提升性能,并为后续学习Reanimated和手势交互奠定基础。
本课聚焦于React Native的样式与布局,核心是掌握Flexbox实现美观、响应式界面。通过深入讲解flexDirection、justifyContent、alignItems等属性,结合flex、gap、flexWrap等实用技巧,解决多屏幕适配问题。强调React Native与Web CSS的差异(如默认flexDirection: column),并引入百分比尺寸与绝对定位,帮助开
本文详解 React Native 中 TextInput 组件的使用,重点讲解受控组件模式,实现用户输入的实时响应与状态管理。涵盖常用属性:keyboardType(键盘类型)、secureTextEntry(密码隐藏)、multiline(多行输入)、autoCapitalize(自动大写)、autoCorrect(纠错)、maxLength(长度限制)及 editable(可编辑性),并解决
本文探讨了React Navigation带来的状态共享难题,提出通过Context与useReducer解决prop drilling问题。通过创建ThemeContext,使用Provider提供状态,结合useContext实现跨层级数据访问,使组件无需层层传props即可共享主题、用户等全局状态,提升代码可维护性与复用性。
本文介绍React Native中多页面应用的导航解决方案,重点讲解React Navigation的核心用法。通过安装与配置,掌握Stack Navigator(堆栈导航)、Bottom Tab Navigator(标签导航)和Drawer Navigator(抽屉导航)的使用方法,实现页面跳转、参数传递及嵌套导航。结合NavigationContainer、Navigator与Screen组件
组件渲染应为纯函数,仅根据状态返回视图描述。网络请求、定时器等副作用需在渲染后执行。useEffect 是处理副作用的正确方式:不传依赖数组则每次渲染后执行;传空数组只挂载时执行一次;传具体依赖则依赖变化时重新执行。通过合理使用 useEffect,可在不影响渲染纯净性的前提下完成数据拉取、订阅监听等操作,确保状态更新与界面同步。
本课聚焦组件拆分与组合,解决大组件臃肿问题。通过将个人主页头部拆分为Avatar和UserInfo等小函数组件,实现代码复用与维护性提升。核心理念:界面 = 组件树,列表则由数据驱动一组组件。结合FlatList实践,掌握高效构建复杂界面的模式。
React Native的核心是“视图 = 函数(状态)”——界面由状态决定,无需手动修改DOM。通过useState管理状态,组件返回的JSX描述的是状态变化后的视图结果。当状态更新,React自动重新渲染,实现声明式编程。与命令式“找元素、改内容”不同,声明式只需关注“结果”,框架负责“过程”。这使代码更简洁、可维护性更强,如同点菜只需说“宫保鸡丁”,厨师自会完成烹饪。理解此思想,是掌握Rea
本文从零开始介绍 React Native 跨平台开发,阐明其基于 JavaScript/TypeScript 与 React 思想,通过原生组件渲染实现接近系统原生的体验。重点讲解声明式编程、函数组件、状态管理等核心概念,并对比命令式与声明式写法,帮助读者理解 React Native 的运行机制与开发逻辑,为后续学习奠定基础。
专题:Hooks 与状态一个按钮里连续调用三次 setCount(count + 1),期望加三,结果只加一。把 setter 当成同步变量赋值,就很容易在批量选择、数量累加和合并更新里踩到相同问题。
专题:Hooks 与状态购物车数量已经加一,总价却下一次渲染才跟上。页面同时保存 items 和 total,再用 Effect 监听 items 更新 total,看起来职责分明,实际上维护了两份本可直接计算的信息。
专题:Hooks 与状态从联系人 A 切到联系人 B,标题已经变了,输入框里却还留着 A 的备注。代码里 useState 接收了 props 的初始值,开发者因此以为 props 改变会自动重置状态。实际上,初始化只发生在对应状态实例建立时。
本文详述了将 react-native-torch 适配至 HarmonyOS 的全过程:版本对齐、原生实现(19行ArkTS,2.8KB HAR)、模块注册与验证。核心难点在于硬件依赖——模拟器无闪光灯,故无法验证“灯亮”效果,但通过精准错误抛出(ERR_TORCH_UNAVAILABLE)证明了在不支持设备上拒绝操作而非假成功。接口设计严谨,权限无需声明,参数校验以被拒Promise形式实现,
react-native-quick-md5 采用 JSI 实现,通过 install() 同步注入 C++ MD5 函数至 JS 运行时,无需桥接。其原生模块为纯 C++ TurboModule,不依赖 ArkTS。适配需添加鸿蒙 HAR 模块及上游 MD5 算法源码(约 11 KB),HAR 包仅 7.3 KB,无权限要求。公开接口为同步的 stringMd5 与 binaryMd5,返回 3
react-native-device-uptime 需在鸿蒙平台补原生模块,因上游无 harmony/ 实现。适配仅需 5 行 ArkTS 代码,返回自启动以来的毫秒数字符串,与 Android 一致。关键点:iOS 返回秒(小数),Android 与鸿蒙返回毫秒(整数),单位差 1000 倍,跨平台行为不一致易致逻辑错误。通过 TurboModuleRegistry.getEnforcing
本文分析了 react-native-device-name 在鸿蒙平台的适配问题。该库需原生实现,因JS层仅为壳,依赖iOS/Android原生模块。鸿蒙无对应实现,需补充HAR与ArkTS TurboModule,仅8行代码即可完成。通过检查package.json的harmony.autolinking字段及平台目录结构可快速判断是否需适配。实现上采用marketName→productMo
yangipcclient新增react native版本sdk和demo,可同时适配移动端android/ios,为提升rtc性能,视图采用最底层的Surface/UIView,所有rtc处理都用C++/Object C实现,开发者只需要使用javascript二次开发即可。
复制了网上的 WebRTC 教程代码,跑起来却总是黑屏?搞不清 STUN、TURN 和信令服务器到底是什么关系?很多前端开发者在初次接触音视频通信时,往往会被晦涩的网络穿透概念和极易引发 Bug 的 API 执行时序直接劝退。本文将剥离复杂的底层源码,从“为什么有了 WebSocket 还要 WebRTC”的底层逻辑讲起,带你彻底理清 NAT 穿透原理与 Offer/Answer 协商机制。同时,
排期:2026-09-29 · 专题:Hooks 与状态开发时刚打开页面,服务端就收到两次读取请求;发布包却只出现一次。很多人会直接移除 Strict Mode,表面安静了,但订阅泄漏、异步竞态和清理缺失也一起被藏了起来。
排期:2026-09-29 · 专题:Hooks 与状态你给页面加了一个每秒自增的计时器,第一次从 0 变成 1,之后却一直停在 1。日志证明回调仍在执行,界面也没有报错。问题通常不在计时器精度,而在回调读取了哪一次渲染里的 count。
本文以 react-native-base64 为例,阐述纯 JavaScript RN 库无需鸿蒙化适配的判定方法。通过三步法(检查 harmony 字段、harmony/ 目录、代码中平台分支与原生调用)确认其为纯 JS 实现,无需原生适配。实测表明其可零接线接入,仅需在 Metro 配置中添加 watchFolders 以识别本地依赖。虽“无需适配”,但仍需验证行为边界,确保跨平台一致性。该
本文介绍了在鸿蒙系统上适配 react-native-aes-crypto 3.3.0 的完整过程。基于 TurboModule + CAPI 架构,同步上游源码并锁死基线,实现 AES、PBKDF2、HMAC 等密码学功能的鸿蒙兼容。通过 159 项设备断言与 PC 端 Node/OpenSSL 复算验证,确保输出确定性一致。配套提供 HAR 预编译包、向量测试集及 spec.json 机器可读
本文介绍了在鸿蒙系统上适配 Expo 视频缩略图库 expo-video-thumbnails 的完整过程。针对服务端无封面图的常见问题,作者基于 React Native for OpenHarmony(RNOH)体系,实现了一个支持视频抽帧的 TurboModule 模块。通过同步上游代码、锁定版本基线、构建 HAR 工程与预编译产物,并编写契约测试验证多场景行为,确保功能兼容性与稳定性。关键
面试现场,面试官喝了口茶,抛出一个看似简单的问题:**"MCP 和 Skill,什么时候用哪个?"** 你心里一紧——两个词都用过,MCP 连过数据库,Skill 写过 SKILL.md。但让你说清楚"什么时候用哪个",你只能挤出一句"MCP 连工具,Skill 写指令"。面试官微微摇头:**"太浅了。
本文详解 React Native for OpenHarmony 三方库 react-native-volume-control 1.0.1 的适配实践,聚焦媒体音量控制。库通过原生 TurboModule 与 HarmonyOS AudioManager 交互,实现获取、修改媒体音量及事件监听,支持 0~1 归一化值与系统整数档位的双向转换。适配中保留上游 API 形式,处理异步返回、量化误差
本文详解 React Native for OpenHarmony 三方库 react-native-app-settings 2.0.1 的适配实践,聚焦系统跳转逻辑与真机验证。该库通过 OpenAppSettings.open() 发起跳转至应用设置页,核心在于正确构造鸿蒙系统的 Want(目标包 com.huawei.hmos.settings、Ability MainAbility、URI
现场巡检表单通常同时包含人员角色、若干安全检查项、流程进度和提交结果。角色选择器、复选框、步骤指示器和 Toast 解决的是不同的 UI 问题,但它们最终都要写入同一份业务状态。若让每个组件自己改变步骤或决定提交成功,页面很快会出现“视觉上进入下一步、服务端实际未提交”的不一致。
本文基于React Native for OpenHarmony,集成expo-haptics、react-native-torch与react-native-volume-control三方库,实现现场巡检的触感反馈、手电筒控制与音量读取。通过try/finally确保手电筒必关,使用控制器串行化硬件操作,防重复点击;音量读取保持归一化值,仅展示时转百分比,并校验有效性。引入超时机制保障权限请求
本文基于React Native for OpenHarmony,通过集成react-native-responsive-screen、react-native-shimmer-placeholder和react-native-image-pan-zoom三个三方库,实现响应式图片审阅功能。核心在于:利用窗口尺寸动态计算预览矩形,保持占位区稳定;加载时使用骨架屏避免布局跳动;资源切换时重置缩放状态
本文详述了在鸿蒙(OpenHarmony)上适配 expo-localization 的完整链路:从版本对齐、上游同步、HAR工程构建,到TurboModule实现与自动链接配置。重点实现语言、地区、货币、时制等系统信息读取,并通过ICU查询本地化数据。适配包以 57.0.2-ohos-1.0.0 发布,附带验证报告与哈希校验,确保可复现性。实测发现部分字段存在与原生差异,已如实记录。
本文详细介绍了在鸿蒙系统上适配 Expo 官方库 expo-keep-awake 的完整流程。基于 React Native 0.84.1 与 RNOH 0.84.3 环境,通过同步上游代码、构建 TurboModule + CAPI 架构的 HAR 工程,实现屏幕常亮功能,并严格对齐版本链路。关键点包括:锁死上游 commit、命名规范(如 57.0.2-ohos-1.0.0)、autolink
React‑Native 是 Meta 推出的 JavaScript 驱动原生渲染的跨移动端开发框架。本次基于快照静态源码审计:项目合计 **5554 个受支持源文件**,工程证据完整度为**较完整**;构建脚本、测试套件、CI 工作流均可在源码中定位;**四维工程治理基因全部观测通过 4/4**。抽样源码高频符号线索集中于**文件/网络I/O、并发异步逻辑**,对应框架核心:JS‑Native
本文基于React Native for OpenHarmony 0.3.1,集成七项三方库实现设备巡检功能。通过Promise.allSettled并发采集设备名称、系统版本、电量、运营商、区域、开机时长及应用信息,保留各字段状态(成功/失败/不可用),避免单点错误导致整体失效。采用请求序号防刷新竞态,结合缓存与字段时效策略,确保数据一致性与用户体验。所有字段状态独立管理,支持页面、日志等多场景
本文详述了 react-native-app-info 0.0.6 在 React Native for OpenHarmony 上的完整适配过程,涵盖从 JS 调用链到鸿蒙原生 bundleManager 的实现。通过构建 TurboModule、ArkTS 模块与 C++ 注册,成功在真机上实现版本、包名、显示名等五项应用元数据读取,验证了跨平台兼容性与部署流程的可靠性。
本文详解 React Native for OpenHarmony 适配 expo-screen-orientation 57.0.2 的实战过程,重点解决三套方向枚举(请求策略、实际方向、事件编码)的语义差异。通过源码改造、HAR 构建与真机验证,实现四向锁定(含倒置竖屏)、策略映射与事件清理,确保方向控制精准可靠。交付包支持完整生命周期管理,恢复逻辑幂等安全,已通过多设备测试,为 RNOH 生
本项目将GemeOpen GSPM1B智能插座接入Home Assistant,实现开关控制及电压、电流、功率等数据采集,并提供基于FastAPI+React的自研Web Demo。通过MQTT双路径架构,支持零代码(HA)与全自研(Python+React)两种接入方式。文档详尽,适合程序员初学者快速上手,一键部署,含设备配置、接口契约、排错指南等完整流程。工程包包含Docker化部署脚本与详细
本文详述了 Expo-Localization 57.0.2 在 OpenHarmony 平台的适配实践,实现 getLocales、getCalendars 等四接口,精准匹配系统语言、地区、时区与日历设置。通过 ICU 多语言数据核对,解决星期起始日差异(周日为1)及货币符号等关键问题,采用 TurboModule 与 C++ JSI 调用原生能力,确保真机响应一致性。基于 useSyncEx
react.js
——react.js
联系我们(工作时间:8:30-22:00)
400-660-0108 kefu@csdn.net