跳到主要内容

改进文档

·4 分钟阅读
Kevin Lacker
Facebook 工程经理

拥有出色的开发者体验的一部分是拥有出色的文档。创建好的文档需要付出很多努力——理想的文档应该是简洁、有帮助、准确、完整且令人愉悦的。最近,我们一直在努力根据您的反馈改进文档,并且我们想分享我们所做的一些改进。

内联示例

当您学习一个新的库、一种新的编程语言或一个新的框架时,总会有一个美好的时刻,当您第一次编写一些代码,尝试运行它,看看它是否有效……并且它确实有效。您创造了一些真实的东西。我们希望将这种切身体验直接放入我们的文档中。就像这样

import React, { Component } from 'react';
import { AppRegistry, Text, View } from 'react-native';

class ScratchPad extends Component {
render() {
return (
<View style={{flex: 1}}>
<Text style={{fontSize: 30, flex: 1, textAlign: 'center'}}>
Isn't this cool?
</Text>
<Text style={{fontSize: 100, flex: 1, textAlign: 'center'}}>
👍
</Text>
</View>
);
}
}

AppRegistry.registerComponent('ScratchPad', () => ScratchPad);

我们认为这些内联示例,使用 react-native-web-player 模块并在 Devin Abbott 的帮助下,是学习 React Native 基础知识的好方法,并且我们已更新了我们的 面向新的 React Native 开发者的教程,尽可能多地使用这些示例。看看吧——如果您曾经好奇修改一小段示例代码会发生什么,这是一种非常好的探索方式。此外,如果您正在构建开发者工具并且想在您自己的网站上展示一个实时的 React Native 示例,react-native-web-player 可以使这变得简单明了。

核心模拟引擎由 Nicolas Gallagherreact-native-web 项目提供,该项目提供了一种在 Web 上显示 React Native 组件(如 TextView)的方式。如果您有兴趣构建共享大部分代码库的移动和 Web 体验,请查看 react-native-web

更好的指南

在 React Native 的某些部分,有多种方法可以做事,我们收到了反馈,认为我们可以提供更好的指导。

我们有一个新的 导航指南,它比较了不同的方法,并就您应该使用什么提供建议——NavigatorNavigatorIOSNavigationExperimental。从中长期来看,我们正在努力改进和整合这些接口。在短期内,我们希望更好的指南能让您的生活更轻松。

我们还有一个新的 触摸处理指南,它解释了制作类似按钮的界面的一些基础知识,以及处理触摸事件的不同方法的简要概述。

我们工作的另一个领域是 Flexbox。这包括关于如何使用 Flexbox 处理布局 以及如何控制 组件大小 的教程。它还包括一个枯燥但希望有用的 React Native 中控制布局的所有属性列表

入门

当您开始在您的机器上设置 React Native 开发环境时,您确实需要进行大量安装和配置。很难使安装成为真正有趣和令人兴奋的体验,但我们至少可以使其尽可能快速和轻松。

我们构建了一个 新的入门工作流程,让您可以预先选择您的开发操作系统和移动操作系统,以在一个简洁的地方提供所有设置说明。我们还完成了安装过程,以确保一切正常运行,并确保每个决策点都有明确的建议。在我们的无辜同事身上测试之后,我们非常确定这是一个改进。

我们还致力于 将 React Native 集成到现有应用中的指南。许多使用 React Native 的大型应用,例如 Facebook 应用本身,实际上是在 React Native 中构建了应用的一部分,并使用常规开发工具构建了另一部分。我们希望本指南能让更多人更容易地以这种方式构建应用。

我们需要您的帮助

您的反馈让我们知道我们应该优先处理什么。我知道有些人会读到这篇博文,并认为“更好的文档?切!X 的文档仍然是垃圾!”。这很棒——我们需要这种能量。向我们提供反馈的最佳方式取决于反馈的类型。

如果您在文档中发现错误,例如不准确的描述或实际上无法正常工作的代码,请提交 issue。用“Documentation”标记它,以便更容易将其路由给合适的人员。

如果没有具体的错误,但文档中的某些内容从根本上令人困惑,则不适合在 GitHub issue 中提出。相反,请在 Canny 上发布关于文档中可能需要帮助的区域。这有助于我们在进行更一般的工作(如编写指南)时确定优先级。

感谢您阅读到这里,感谢您使用 React Native!