跳至主要内容

贡献概述

感谢您对贡献 React Native 的兴趣!从评论和分类处理 Issue,到评审和发送 Pull Request,所有贡献都受到欢迎。我们的目标是构建一个充满活力且包容的由合作伙伴、核心贡献者和社区组成的生态系统,其范围超越了主要的 React Native GitHub 仓库。

Open Source Guides 网站收集了面向个人、社区和公司的一系列资源,旨在帮助他们了解如何运行和贡献开源项目。

贡献者和开源新手都会发现以下指南特别有用

行为准则

提醒一下,所有贡献者都应遵守行为准则

版本控制策略

为了充分理解 React Native 的版本控制,我们建议您查阅版本控制策略页面。在该页面中,我们描述了 React Native 支持的版本、发布频率以及根据您的情况应该使用的版本。

贡献方式

如果您想立即开始贡献代码,我们有一个适合新手入门的问题列表,这些问题涉及范围相对有限的 Bug。随着您积累更多经验并展现出对 React Native 发展的承诺,您可能会获得仓库的 Issue 管理权限。

还有其他无需编写一行代码即可贡献的方式。以下是一些可以提供帮助的事情

  1. 回复和处理未解决的 Issue。

    我们每天收到很多 Issue,其中一些可能缺乏必要的信息。您可以通过指导人们填写 Issue 模板、索取澄清信息或将他们指向与他们问题描述相符的现有 Issue 来提供帮助。关于此过程的更多信息,我们在分类处理 GitHub Issue 页面中有所介绍。

  2. 评审文档的 pull request。

    评审文档更新可以很简单,例如检查拼写和语法。如果您遇到可以在文档中更好地解释的情况,请单击大多数文档页面顶部的编辑按钮,开始您的贡献。

  3. 帮助人们编写测试计划。

    发送到主仓库的一些 pull request 可能缺乏适当的测试计划。这些有助于评审者理解变更如何经过测试,并能加快接受贡献所需的时间。

这些任务都非常有影响力,维护者将非常感谢您的帮助。

我们的开发流程

我们使用 GitHub Issue 和 pull request 来跟踪社区的 Bug 报告和贡献。Meta 工程师的所有变更将通过与 Meta 内部源代码控制系统的桥梁同步到GitHub。社区的变更通过 GitHub pull request 处理。

在 GitHub 上进行的变更获得批准后,将首先导入 Facebook 的内部源代码控制系统,并针对 Facebook 的代码库进行测试。在 Facebook 合并后,该变更将在通过 Facebook 内部测试后,最终以一个单独的 commit 同步回 GitHub。

您可以在以下文档中了解更多关于贡献流程的信息

我们还有一个蓬勃发展的贡献者社区,他们很乐意帮助您入门。您可以通过@ReactNative 联系 React Native 团队。

仓库

主仓库包含 React Native 框架本身,我们在这里跟踪 Bug 报告和管理 pull request。

还有一些您可能想熟悉的仓库

浏览这些仓库应该能让您了解 React Native 开源项目是如何管理的。

GitHub Issue

我们专门使用 GitHub Issue 来跟踪 Bug。我们在分类处理 Issue 页面中记录了我们的 Issue 处理流程。

安全 Bug

Meta 设立了安全 Bug 的安全披露奖励计划。在这种情况下,请按照该页面概述的流程进行,不要公开提交 Issue。

协助文档工作

React Native 文档是 React Native 网站仓库的一部分。该网站使用Docusaurus 构建。如果您想修改文档中的任何内容,可以通过点击大多数网页右上角的“编辑”按钮开始您的贡献。

如果您要添加新功能或引入行为变更,我们将要求您更新文档以反映您的变更。

贡献博客

React Native 博客是由博客的 Markdown 源文件生成的。

在撰写计划发布到 React Native 博客的文章之前,请在 React Native 网站仓库中开启一个 Issue,或者在 Twitter 上@ReactNative 标记我们,并获得维护者的同意。在大多数情况下,您可能更愿意在自己的博客或其他写作平台分享您的文章。不过,询问一下是值得的,以防我们认为您的文章非常适合我们的博客。

我们建议查阅 react-native-website 仓库的Readme 文件,以了解更多关于如何贡献网站的信息。

贡献代码

对 React Native 的代码级贡献通常以pull request 的形式进行。这通常是通过 fork 仓库并在本地进行修改来完成的。

分步指南

随时准备贡献代码时,请查阅我们的关于发送第一个 pull request 的分步指南,或者阅读如何贡献代码页面以了解更多详情。

测试

测试有助于我们防止向代码库引入回归。GitHub 仓库使用 CircleCI 持续进行测试,结果可在commit 和 pull request 的 Checks 功能中查看。

您可以在如何运行和编写测试页面了解更多关于运行和编写测试的信息。

社区贡献

对 React Native 的贡献不限于 GitHub。您可以通过分享使用 React Native 的经验来帮助他人,无论是通过博客文章、会议演讲,还是简单地在 Twitter 上分享您的想法并标记@ReactNative