React 简介
欢迎来到 React 手册!我是 Juno,很高兴你在这里。React 是构建用户界面的工具,首先要明白的是,React 从头到尾都是 JavaScript。如果你还没有完全掌握 JavaScript,这很正常,值得先在那里花点时间打好基础。
我们逐次介绍一个小概念:页面的一部分、数据的一部分,慢慢地你就会看到它们如何组合在一起。这里任何东西都不会太基础到不能提问。
如果你还没有做过 JavaScript 手册,先从那里开始,然后再回到这里。学过 JavaScript 以后,React 会变得清晰得多。
一旦页面变得交互,问题就出现了。在纯 JavaScript 中,你在页面里找到想要的元素,每次数据改变时手动更新它,自己保持屏幕和数据的同步。两个按钮还行。但随着页面增长,这很快就变得脆弱,因为每个状态都有自己的一套手动更新要记住。React 把这翻转过来:你描述当前数据下 UI 应该是什么样子,React 在数据改变时处理更新。
React 是一个 JavaScript 库,用 组件 来构建用户界面,你通过组合这些单元来搭建完整屏幕。
什么是组件?
组件是一个返回 UI 片段的函数。更大的屏幕是通过组合许多组件来构建的。组件 章节介绍如何编写和组合它们。
如果你学过 JavaScript 手册,你已经用纯手工做过这个复杂的版本。DOM 章节是你学习如何读取和改变页面元素的地方,事件 章节是你学习如何让页面对点击或按键做出响应的地方。React 就是建立在这些概念之上的。随着你的应用增长,它给了你一种更清晰的方式来表达它们。
有一点要明确:React 是彻底的 JavaScript。组件是函数,props 是参数,state 是变量,组件内部的逻辑和你在其他地方写的是同一种语言。没有捷径。如果你还没有学过 JavaScript 手册,从那里开始,因为在基础上花的时间在这里会直接得到回报。读一下 什么是框架 对理解像 React 这样的库在大局中的位置和它为你做什么也很值得。
这是范围,你就知道这个手册涵盖什么。它从 React 是什么、它从哪里来、以及如何在你自己的机器上用 Vite 运行项目开始。从那里:构建和组合组件、用 JSX 写标签、样式、用 props 向下传递数据、用 keys 渲染列表、在 state 中保存变化的数据、响应事件、条件渲染、处理表单、在组件间共享 state、用 useEffect 运行副作用、从服务器获取数据、用 refs 访问 DOM,以及更广泛的 hooks 集合。它以 React 思维、让界面无障碍,以及之后是什么的地图结束。这就是你在几乎每个 React 应用中使用的核心。更广泛的生态系统、路由、Next.js 和部署,在最后一章中有指引,而不是在这里教。把这些基础打牢,其余的就短得多了。
认识你的向导
这个手册由三位向导主持,你可以选择哪一个为你讲解。内容对所有人都是一样的;你的向导设置讲述的语气,以及在适应的页面上,每个部分的深度。
- Juno 教初学者轨道:温暖耐心,简洁的类比,不做任何假设。
- Ace 教中级轨道:实用和构建优先,直接讲你实际做的事。
- Sol 教 Deep Dive:机制、权衡和生产细节,其他人都跳过。
可以随时从任何页面顶部的选择器切换向导,或在右下角打开 Preferences 来改变你的向导、语言或字体大小。
设置好以后,手册正式开始。下一章 什么是 React,介绍 React 真正是什么、它被构建来解决的问题,以及它如何与你已经掌握的 JavaScript 相配合。
在 Scrimba 上学习 React 课程在浏览器中免费构建六个 React 项目,由 Bob Ziroll 讲授。
