React 入门:Facebook 开发的前端 JavaScript 框架
文章目录

React 是现在最流行的前端 JavaScript 框架,GitHub 星标超过 20 万,Facebook 开发出来,现在全世界大公司小创业公司都在用,做前端基本绕不开。
我用 React 写过好几个项目,从 SPA 到 SSR 都玩过,聊聊它到底好在哪,适合什么场景,新手入门怎么样。
React 解决了什么问题
以前写前端,操作 DOM 全靠 JavaScript 手动改,数据一变界面没更,界面改了数据没同步,写着写着就乱了,维护起来痛苦。React 用了虚拟 DOM,数据一变自动帮你更新界面,你只需要管好数据,不用管怎么更新 DOM。
组件化开发,你把界面拆成一个个小组件,每个组件管自己的状态和渲染,复用方便,改一个组件不影响别的,项目大了好维护。
单向数据流,数据从父组件传到子组件,修改数据方向清晰,不容易出莫名其妙的 bug,debug 方便。
现在生态太完善了,路由、状态管理、HTTP 请求全都有现成的,你不用自己拼,拿来就用,开发快。
基础例子看一下
安装创建项目,现在用 Vite 创建很快:
# npm create vite@latest my-react-app -- --template react
cd my-react-app
npm install
npm run dev
写个简单组件:
// App.jsx
import { useState } from 'react'
function App() {
const [count, setCount] = useState(0)
return (
<div>
<h1>Hello React</h1>
<p>You clicked {count} times</p>
<button onClick={() => setCount(count + 1)}>
Click me
</button>
</div>
)
}
export default App
就是这样,JSX 语法,HTML 直接写在 JavaScript 里面,看起来怪,用习惯了挺方便,组件结构一眼能看到。
核心好用的特性
组件化
把界面拆成小组件,每个组件做一件事,复用方便,你写个按钮组件到处能用,不用重写。项目大了分工方便,每个人改自己组件,不打架。
JSX
JavaScript 和 HTML 写一块,组件逻辑和渲染放一块,改需求的时候,逻辑视图一起改完,不用来回切文件,真的省心。语法不难,学一会儿就会了。
虚拟 DOM
数据变了,React 算好最小改动更新 DOM,不用你自己操作 DOM,省很多事,性能也不错。
单向数据流
数据从上到下流,修改数据方向清晰,不容易乱,理解起来容易,出问题好 debug。
Hooks
现在写组件用函数组件加 Hooks,不用 class 那一套,代码更简洁,逻辑复用方便,自定义 Hooks 抽逻辑,好用。
哪些场景用 React
单页应用 SPA,现在前端项目基本上单页应用多,React 天生适合,路由配合做起来顺滑。大型前端项目,组件化加单向数据流,项目大了好维护,很多大公司大项目都在用,扛得住。
移动端开发,React Native 用 React 语法写原生应用,一套代码多端运行,省钱省事。服务端渲染 SSR,Next.js 基于 React,SSR 做好了,首屏快,SEO 好,适合博客电商这些。
React 有哪些优缺点
优点说不完,组件化开发真的舒服,代码好维护,生态太大了,你想要什么轮子都有,不用自己写。社区活跃,资料多,新手入门遇到问题一搜就有答案,找工作也需要,前端岗位基本要求会 React。
Facebook 维护,一直更新,新特性加得稳,不会瞎改,老项目升级一般没问题。
缺点也有,上手容易精通难,很多概念,Hooks 依赖那些,新手容易写错依赖,出问题不知道怎么改。打包出来体积不小,要优化 Tree Shaking 代码分割,新手配置不好包就大。
确实很多东西要第三方,状态管理 Redux,路由 React Router,都得自己学,一开始要学的东西多。
现在 React 发展得怎么样
出来快十年了,现在还是前端框架第一梯队,用户最多,star 最多,一直更新,现在 React 18 也出来了,并发特性越来越好。
生态越来越完善,Vite 开发快,Next.js 做 SSR 方便,React Native 也一直更,跨平台越来越稳。工作需求大,前端招聘基本上都要求会 React,学会了找工作好找。
现在学 React 值得吗
做前端开发,肯定值得学,现在前端工作基本上都要求会,不会找不到前端工作。
入门其实不难,JS 基础够,跟着教程写几个项目,一个月就能上手做简单项目,高阶用法慢慢在项目里积累。
生态这么好,各种轮子都有,学会了开发快,做项目效率高,就算你用别的框架,懂了 React 思想学别的也快,绝对值。
项目地址:https://github.com/facebook/react
目里积累。
生态这么好,各种轮子都有,学会了开发快,做项目效率高,就算你用别的框架,懂了 React 思想学别的也快,绝对值。
项目地址:https://github.com/facebook/react
更多推荐



所有评论(0)