react-native-bottom-sheet开源贡献指南:从Issue到PR的完整流程
作为一个高性能、可完全配置的交互式底部弹窗组件(Bottom Sheet),react-native-bottom-sheet 项目欢迎所有开发者参与贡献。本文将详细介绍从发现问题(Issue)到提交代码(PR)的完整贡献流程,帮助新贡献者快速上手。
贡献前准备
环境搭建
-
克隆仓库
首先通过 Git 克隆项目代码库到本地:git clone https://gitcode.com/gh_mirrors/re/react-native-bottom-sheet.git cd react-native-bottom-sheet -
安装依赖
项目使用 Yarn 管理依赖,执行以下命令完成环境初始化:yarn bootstrap该命令会安装根目录及 example/ 目录下的所有依赖,并配置 iOS 平台的 CocoaPods。
-
验证开发环境
启动示例应用验证环境是否正常工作:# 启动 Metro 打包器 yarn example start # 运行 Android 示例 yarn example android # 运行 iOS 示例 yarn example ios示例应用位于 example/src/screens/,包含基础用法、高级特性及第三方库集成示例。
贡献规范
- 行为准则:所有贡献者需遵守 CODE_OF_CONDUCT.md,确保社区互动友好且包容。
- 提交信息规范:遵循 Conventional Commits 规范,格式为
<类型>[可选作用域]: <描述>,例如:feat: 添加自定义背景组件fix: 修复滚动时底部弹窗跳动问题docs: 更新 BottomSheetModal 文档
发现与报告问题(Issue)
查找 Issue
-
筛选现有 Issue
在提交新 Issue 前,先通过标签筛选现有问题:good first issue:适合新手的入门任务bug:已确认的缺陷enhancement:功能增强建议
-
新建 Issue
若发现未被报告的问题,通过 GitHub Issues 提交,需包含以下信息:- 问题描述(复现步骤、预期行为、实际行为)
- 环境信息(设备型号、系统版本、库版本)
- 代码示例或截图(可使用 example/ 项目复现问题)
代码开发流程
分支管理
-
创建分支
基于main分支创建功能分支,命名格式为<类型>/<描述>:git checkout main git pull origin main git checkout -b feat/custom-footer -
开发与测试
- 功能开发需对应修改源码,核心组件位于 src/components/,如底部弹窗容器 src/components/bottomSheetContainer/。
- 添加或更新测试用例,确保代码覆盖率,测试命令:
yarn test - 运行代码检查工具验证代码质量:
# 类型检查 yarn typescript # 代码 lint yarn lint # 自动修复格式问题 yarn lint --fix
提交代码
-
提交变更
使用规范的提交信息提交代码:git add . git commit -m "feat: 添加自定义底部工具栏组件"项目配置了 pre-commit 钩子,会自动检查提交信息格式及代码规范。
-
保持分支同步
在提交 PR 前,同步主分支最新代码避免冲突:git fetch origin main git rebase origin/main
提交与审核 PR
准备 PR
-
PR 描述模板
提交 PR 时需遵循模板填写以下内容:- 变更类型(Bug 修复/功能新增/文档更新等)
- 实现细节(核心逻辑、API 变更)
- 测试步骤(如何验证变更有效性)
- 相关 Issue 链接
-
代码自查清单
- 已添加测试用例
- 文档已更新(如涉及 API 变更,需修改 website/docs/)
- 所有命令运行通过(
yarn test、yarn lint、yarn typescript)
PR 审核流程
-
自动化检查
PR 提交后,CI 会自动运行以下检查:- 代码规范与类型检查
- 单元测试覆盖率
- 示例应用构建验证
-
人工审核
项目维护者会审核代码质量、功能完整性及兼容性。可能需要根据反馈进行多轮修改,通过git commit --amend或git rebase更新提交。 -
合并代码
审核通过后,维护者会将 PR 合并到主分支。合并后可删除功能分支:git checkout main git pull origin main git branch -d feat/custom-footer
高级贡献场景
文档改进
项目文档位于 website/docs/,使用 Docusaurus 构建。若需修改文档:
- 编辑 Markdown/MDX 文件(如 website/docs/usage.md)
- 本地预览文档:
cd website yarn start
示例应用更新
示例应用是功能展示的重要途径,可通过以下方式增强:
- 添加新场景到 example/src/screens/
- 新增自定义组件示例,如 example/src/components/customHandle/
贡献者徽章
活跃贡献者将被添加到项目贡献者列表,具体可参考 CONTRIBUTING.md 中的激励机制。
贡献流程总结
- 发现问题 → 2. 认领/创建 Issue → 3. 开发与测试 → 4. 提交 PR → 5. 审核与合并
通过以上流程,任何人都可以为 react-native-bottom-sheet 项目贡献代码、文档或想法。项目维护者会定期回顾社区贡献,并在 CHANGELOG.md 中致谢。
资源链接
- 项目教程:README.md
- API 文档:website/docs/
- 示例代码:example/src/
- 贡献规范:CONTRIBUTING.md
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考




