ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

从 SegmentedControlIOS 迁移到 React Native SegmentedControl:官方迁移 3 步搞定

从 SegmentedControlIOS 迁移到 React Native SegmentedControl:官方迁移 3 步搞定 从 SegmentedControlIOS 迁移到 React Native SegmentedControl官方迁移 3 步搞定【免费下载链接】segmented-controlReact Native SegmentedControl library项目地址: https://gitcode.com/gh_mirrors/se/segmented-control还在用SegmentedControlIOS做 iOS 分段控件作为 React Native 开发者你一定经历过升级 RN 版本后SegmentedControlIOS突然报错或消失的尴尬。React Native SegmentedControlreact-native-segmented-control/segmented-control正是官方在Lean Core瘦身计划中从 React Native 核心拆分出来的独立库用于渲染 iOS 风格的 UISegmentedControl 分段控件并额外提供了 Android 与 Web 的 JS 实现。本篇文章将带你用官方推荐的 3 步完成 SegmentedControlIOS 迁移全程无痛、风险极低。为什么要迁移到 React Native SegmentedControlReact Native 从 0.60 左右开始执行Lean Core战略把大量平台相关组件从核心包中拆出。SegmentedControlIOS就是其中之一官方给出的去处就是本库。迁移后你将获得✅ 持续的原生维护与 bug 修复✅ 支持 iOS 13 新特性backgroundColor、appearance、fontStyle等✅ Android 与 Web 平台开箱即用✅ 自动链接Autolinking无需手动配置迁移前检查React Native 版本要求在动手前先确认你的 RN 版本与库版本的匹配关系来源README.md库版本要求 React Native 版本v2.2.0 及以上 0.62v2.2.0 及以下 0.57注意Expo Go 应用iOS不支持本库因为它需要自定义原生代码。若使用 Expo请改用 development client 或弹出到 bare workflow。官方迁移 3 步搞定第一步一条命令安装 React Native SegmentedControl根据你项目的包管理器任选其一npm install --save react-native-segmented-control/segmented-controlyarn add react-native-segmented-control/segmented-controlpnpm install --save react-native-segmented-control/segmented-control如果你使用 React Native 0.60 及以上版本包会自动链接Autolinking只需再执行一次npx pod-installAndroid 端因为是纯 JS 实现无需任何链接操作0.59 及以下的老版本才需要手动运行react-native link。完整说明可参考项目根目录的README.md。第二步修改 import 导入语句核心改动迁移最核心的一步就是把导入来源从react-native换成独立库迁移前import {SegmentedControlIOS} from react-native;迁移后import SegmentedControl from react-native-segmented-control/segmented-control;之后组件标签名从SegmentedControlIOS改为SegmentedControl即可。iOS 侧封装代码位于js/SegmentedControl.ios.js它内部通过ios/RNCSegmentedControl.m原生模块调用系统 UISegmentedControl行为与原来的核心组件完全一致。第三步验证 Props 兼容性好消息是绝大部分 props 完全兼容无需改动。下面是常用 API 对照类型定义见index.d.ts功能属性迁移说明选项列表values兼容支持字符串、数字与图片默认选中项selectedIndex兼容受控/非受控均可点击回调onChange兼容事件含nativeEvent.selectedSegmentIndex取值回调onValueChange兼容直接返回选中项的值强调色tintColor兼容禁用状态enabled兼容默认true瞬时模式momentary兼容仅 iOS背景色backgroundColoriOS 13 新增深浅外观appearance支持dark | light三端通用基本用法示例参考example/App.jsimport SegmentedControl from react-native-segmented-control/segmented-control; SegmentedControl values{[One, Two]} selectedIndex{selectedIndex} onChange{(event) setSelectedIndex(event.nativeEvent.selectedSegmentIndex)} /迁移后 3 个实用小贴士Android/Web 也受益迁移后SegmentedControl在 Android 和 Web 上会自动渲染 iOS 13 风格的分段控件实现位于js/SegmentedControl.js无需再为跨平台另写一套 UI。自由调整高度直接传style{{height: 80}}即可增高若在 Android 上加了 padding 导致文字消失多半是高度不够增大高度或减小 padding 即可见README.md的 Tips 部分。体验完整示例仓库的example/目录提供了覆盖图片分段、禁用态、自定义配色、字体样式等全部场景的演示 App迁移完成后可以对照跑一遍。常见问题 FAQQ迁移后 iOS 上没效果怎么办A先cd ios pod install重新安装 Pods确认react-native-segmented-control.podspec已被正确引用。Q项目里很多地方用了 SegmentedControlIOS改动量大吗A只需全局替换 import 来源和组件名props 基本不动。建议用 IDE 的全局搜索 批量替换5 分钟内即可完成。Q想查看完整源码与示例怎么获取A可执行git clone https://gitcode.com/gh_mirrors/se/segmented-control获取仓库核心源码结构为js/JS 封装与跨平台实现、ios/iOS 原生模块、example/示例工程。从 SegmentedControlIOS 迁移到 React Native SegmentedControl 就是这么简单装包 → 改 import → 验证 props三步搞定还能白赚 Android 与 Web 双端支持。赶紧动手迁移彻底告别升级报错的烦恼吧【免费下载链接】segmented-controlReact Native SegmentedControl library项目地址: https://gitcode.com/gh_mirrors/se/segmented-control创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表