贡献概述
感谢您对为 React Native 做贡献的兴趣!从评论和分诊 Issue,到审查和发送 Pull Request,所有贡献都受欢迎。我们的目标是建立一个充满活力且包容的合作伙伴、核心贡献者和社区生态系统,超越主要的 React Native GitHub 仓库。
开源指南网站收集了大量资源,供希望学习如何运行开源项目并为其做出贡献的个人、社区和公司使用。
贡献者和开源新手都会发现以下指南特别有用
行为准则
提醒一下,所有贡献者都应遵守行为准则。
贡献方式
如果您渴望立即开始贡献代码,我们有一个适合新手的 issue 列表,其中包含范围相对有限的错误。随着您获得更多经验并展示出对发展 React Native 的承诺,您可能会被授予仓库中的 issue 管理权限。
还有其他无需编写一行代码即可贡献的方式。以下是一些您可以做出的贡献
-
回复和处理未解决的 issue。
我们每天都会收到大量 issue,其中一些可能缺少必要的信息。您可以通过指导人们填写 issue 模板、要求澄清信息或将他们指向与其问题描述相符的现有 issue 来提供帮助。我们在Issue 分诊页面上更详细地介绍了此过程。
-
审查文档的 pull request。
审查文档更新可以像检查拼写和语法一样简单。如果您遇到可以在文档中更好地解释的情况,请单击大多数文档页面顶部的编辑以开始您自己的贡献。
-
帮助人们编写测试计划。
发送到主仓库的一些 pull request 可能缺少适当的测试计划。这些计划有助于审查者了解更改是如何测试的,并可以加快贡献被接受的时间。
每项任务都极具影响力,维护人员将非常感谢您的帮助。
我们的开发流程
我们使用 GitHub issue 和 pull request 来跟踪来自社区的错误报告和贡献。Meta 工程师的所有更改都将通过与 Meta 内部源代码控制的桥梁同步到 GitHub。来自社区的更改通过 GitHub pull request 处理。
一旦 GitHub 上的更改获得批准,它将首先导入到 Facebook 的内部源代码控制中,并根据 Facebook 的代码库进行测试。一旦在 Facebook 合并,更改最终将作为单个提交同步回 GitHub,因为它已经通过了 Facebook 的内部测试。
您可以在以下文档中了解有关贡献过程的更多信息
我们还有一个蓬勃发展的贡献者社区,他们很乐意帮助您进行设置。您可以通过 @ReactNative 联系 React Native 团队。
仓库
主仓库包含 React Native 框架本身,我们在此处跟踪错误报告并管理 pull request。
您可能需要熟悉其他几个仓库
- React Native 网站,其中包含网站的源代码,包括文档,位于此仓库中。
- 发布对话正在 此讨论仓库中进行。
- 发布的变更日志可以在此处找到。
- 关于 React Native 的讨论在 讨论和提案仓库中进行。
- 关于 React Native 新架构的讨论在 React Native 新架构工作组仓库中进行。
- 高质量的插件可以在整个 React Native Directory 网站上找到。
浏览这些仓库应该可以深入了解 React Native 开源项目的管理方式。
GitHub Issues
我们专门使用 GitHub issue 来跟踪错误。我们在Issue 分诊页面中记录了我们的 issue 处理流程。
安全漏洞
Meta 针对安全漏洞的安全披露制定了漏洞赏金计划。在这些情况下,请按照该页面上概述的流程进行操作,不要提交公开 issue。
协助文档编写
React Native 文档作为 React Native 网站仓库的一部分托管。该网站使用 Docusaurus 构建。如果您想更改文档中的任何内容,可以单击网站中大多数页面右上角的“编辑”按钮开始。
如果您要添加新功能或引入行为更改,我们将要求您更新文档以反映您的更改。
为博客投稿
React Native 博客是从 博客的 Markdown 源代码生成的。
请在 React Native 网站仓库中打开一个 issue 或在 Twitter 上的 @ReactNative 上标记我们,并在撰写旨在用于 React Native 博客的文章之前获得维护人员的批准。在大多数情况下,您可能希望在您自己的博客或写作媒体上分享您的文章。不过,值得询问一下,以防我们发现您的文章非常适合该博客。
我们建议参考 react-native-website
仓库 Readme 文件,以了解有关为网站做贡献的更多信息。
贡献代码
对 React Native 的代码级贡献通常以 pull request 的形式出现。这些是通过 fork 仓库并在本地进行更改来完成的。
分步指南
当您准备好贡献代码时,请查看我们的发送您的第一个 pull request 的分步指南,或阅读如何贡献代码页面以了解更多详细信息。
测试
测试帮助我们防止将回归引入代码库。GitHub 仓库使用 CircleCI 进行持续测试,其结果可通过 commits 和 pull request 上的 Checks 功能获得。
您可以在如何运行和编写测试页面上了解有关运行和编写测试的更多信息。
社区贡献
对 React Native 的贡献不仅限于 GitHub。您可以通过分享您使用 React Native 的经验来帮助他人,无论是通过博客文章、在会议上发表演讲,还是仅仅在 Twitter 上分享您的想法并标记 @ReactNative。