一、React 是什么
React 是由Facebook(Meta)推出的前端 UI 框架,用于构建高效、灵活、可复用的用户界面。
它的核心理念是组件化开发与单向数据流,搭配虚拟 DOM 技术实现高性能渲染。
一句话概括:
React = 组件化 + 响应式 + 高性能 + 可维护性。
React 不是完整的 MVC 框架,而是负责视图层的“V”,通常搭配 Redux、React Router、Axios 等构建完整前端应用。
二、环境准备
1. 安装 Node.js
React 需要 Node.js 环境支持构建工具。
node -v npm -v
2. 创建项目
使用官方脚手架:
npx create-react-app myapp cd myapp npm start
访问:
http://localhost:3000
即可看到默认的 React 页面。
三、项目结构介绍
myapp/ ├── public/ # 静态文件 ├── src/ │ ├── App.js # 根组件 │ ├── index.js # 入口文件 │ ├── components/ # 自定义组件 │ └── assets/ # 静态资源 ├── package.json └── README.md
四、React 组件基础
1. 函数组件
function Welcome() { return <h1>你好,React!</h1>; } export default Welcome;
在 App.js 中引用:
import Welcome from './Welcome'; function App() { return <Welcome />; }
2. 类组件
import React from 'react'; class Hello extends React.Component { render() { return <h2>Hello, {this.props.name}</h2>; } } export default Hello;
五、JSX 语法
JSX 是一种在 JavaScript 中编写 HTML 的语法糖。
const element = <h1>{2 + 3}</h1>; const name = "React"; const greet = <p>欢迎学习 {name}</p>;
注意:
必须有一个根节点;
表达式要用
{}包裹;标签必须闭合。
六、Props 与组件通信
父组件向子组件传递数据:
function Welcome(props) { return <h2>你好,{props.name}</h2>; } function App() { return <Welcome name="小明" />; }
默认属性:
Welcome.defaultProps = { name: "访客" };
七、State 与事件处理
使用 Hook 管理状态
import React, { useState } from 'react'; function Counter() { const [count, setCount] = useState(0); return ( <div> <p>当前计数:{count}</p> <button onClick={() => setCount(count + 1)}>增加</button> </div> ); } export default Counter;
八、条件渲染
function Message({ isLogin }) { return ( <div> {isLogin ? <h2>欢迎回来!</h2> : <h2>请先登录。</h2>} </div> ); }
九、列表渲染
const users = ["Alice", "Bob", "Cindy"]; function UserList() { return ( <ul> {users.map((user, index) => ( <li key={index}>{user}</li> ))} </ul> ); }
十、表单处理
import { useState } from 'react'; function Form() { const [name, setName] = useState(''); const handleSubmit = e => { e.preventDefault(); alert(`输入的名字:${name}`); }; return ( <form onSubmit={handleSubmit}> <input value={name} onChange={e => setName(e.target.value)} /> <button type="submit">提交</button> </form> ); }
十一、useEffect 副作用处理
import { useEffect, useState } from 'react'; function Timer() { const [seconds, setSeconds] = useState(0); useEffect(() => { const timer = setInterval(() => setSeconds(s => s + 1), 1000); return () => clearInterval(timer); }, []); return <p>运行时间:{seconds} 秒</p>; }
参考案例:www.mijll.cn
十二、组件嵌套与复用
function Card({ title, children }) { return ( <div style={{ border: '1px solid #ccc', padding: 10 }}> <h3>{title}</h3> {children} </div> ); } function App() { return ( <Card title="用户信息"> <p>姓名:小红</p> <p>年龄:18</p> </Card> ); }
十三、React Router 路由系统
安装路由模块:
npm install react-router-dom
配置路由:
import { BrowserRouter, Routes, Route, Link } from 'react-router-dom'; import Home from './pages/Home'; import About from './pages/About'; function App() { return ( <BrowserRouter> <nav> <Link to="/">首页</Link> | <Link to="/about">关于</Link> </nav> <Routes> <Route path="/" element={<Home />} /> <Route path="/about" element={<About />} /> </Routes> </BrowserRouter> ); }
十四、Axios 请求接口
npm install axios
import axios from 'axios'; import { useEffect, useState } from 'react'; function UserList() { const [users, setUsers] = useState([]); useEffect(() => { axios.get('https://jsonplaceholder.typicode.com/users') .then(res => setUsers(res.data)); }, []); return ( <ul> {users.map(u => <li key={u.id}>{u.name}</li>)} </ul> ); }
十五、全局状态管理(Redux)
npm install redux react-redux
创建 store:
import { createStore } from 'redux'; const reducer = (state = { count: 0 }, action) => { switch (action.type) { case 'ADD': return { count: state.count + 1 }; default: return state; } }; export const store = createStore(reducer);
使用 Redux:
import { Provider, useDispatch, useSelector } from 'react-redux'; import { store } from './store'; function Counter() { const count = useSelector(state => state.count); const dispatch = useDispatch(); return ( <div> <p>{count}</p> <button onClick={() => dispatch({ type: 'ADD' })}>增加</button> </div> ); } function App() { return ( <Provider store={store}> <Counter /> </Provider> ); }
十六、使用 Context 共享数据
import { createContext, useContext } from 'react'; const ThemeContext = createContext('light'); function Child() { const theme = useContext(ThemeContext); return <p>当前主题:{theme}</p>; } function App() { return ( <ThemeContext.Provider value="dark"> <Child /> </ThemeContext.Provider> ); }
十七、自定义 Hook
import { useState, useEffect } from 'react'; function useWindowWidth() { const [width, setWidth] = useState(window.innerWidth); useEffect(() => { const handleResize = () => setWidth(window.innerWidth); window.addEventListener('resize', handleResize); return () => window.removeEventListener('resize', handleResize); }, []); return width; } function App() { const width = useWindowWidth(); return <p>窗口宽度:{width}px</p>; }
十八、性能优化技巧
使用 React.memo() 防止重复渲染
const Child = React.memo(({ value }) => { console.log('渲染'); return <p>{value}</p>; });使用 useCallback / useMemo 缓存函数与数据
代码分割:React.lazy + Suspense 动态加载组件
避免在 render 中执行大量计算
合并状态更新,减少 re-render 次数
十九、部署生产环境
构建打包
npm run build
生成的build/文件夹即可直接部署到服务器。
使用 Nginx 部署
server { listen 80; server_name react.myapp.com; root /var/www/myapp/build; location / { try_files $uri /index.html; } }
二十、React 企业级应用实践
前后端分离架构:React + Node.js + Nginx。
微前端架构:多个 React 子应用整合(Qiankun、Module Federation)。
SSR 服务端渲染:Next.js 提升 SEO 与首屏加载速度。
PWA 渐进式应用:React + Service Worker 提升离线体验。
跨平台开发:React Native 构建移动端应用。
2025开年,AI技术打得火热,正在改变前端人的职业命运:
阿里云核心业务全部接入Agent体系;
字节跳动30%前端岗位要求大模型开发能力;
腾讯、京东、百度开放招聘技术岗,80%与AI相关……
大模型正在重构技术开发范式,传统CRUD开发模式正在被AI原生应用取代!
最残忍的是,业务面临转型,领导要求用RAG优化知识库检索,你不会;带AI团队,微调大模型要准备多少数据,你不懂;想转型大模型应用开发工程师等相关岗,没项目实操经验……这不是技术焦虑,而是职业生存危机!
曾经React、Vue等热门的开发框架,已不再是就业的金钥匙。如果认为会调用API就是懂大模型、能进行二次开发,那就大错特错了。制造、医疗、金融等各行业都在加速AI应用落地,未来企业更看重能用AI大模型技术重构业务流的技术人。
如今技术圈降薪裁员频频爆发,传统岗位大批缩水,相反AI相关技术岗疯狂扩招,薪资逆势上涨150%,大厂老板们甚至开出70-100W年薪,挖掘AI大模型人才!
不出1年 “有AI项目开发经验”或将成为前端人投递简历的门槛。
风口之下,与其像“温水煮青蛙”一样坐等被行业淘汰,不如先人一步,掌握AI大模型原理+应用技术+项目实操经验,“顺风”翻盘!
大模型目前在人工智能领域可以说正处于一种“炙手可热”的状态,吸引了很多人的关注和兴趣,也有很多新人小白想要学习入门大模型,那么,如何入门大模型呢?
下面给大家分享一份2025最新版的大模型学习路线,帮助新人小白更系统、更快速的学习大模型!
2025最新版CSDN大礼包:《AGI大模型学习资源包》免费分享**
一、2025最新大模型学习路线
一个明确的学习路线可以帮助新人了解从哪里开始,按照什么顺序学习,以及需要掌握哪些知识点。大模型领域涉及的知识点非常广泛,没有明确的学习路线可能会导致新人感到迷茫,不知道应该专注于哪些内容。
我们把学习路线分成L1到L4四个阶段,一步步带你从入门到进阶,从理论到实战。
L1级别:AI大模型时代的华丽登场
L1阶段:我们会去了解大模型的基础知识,以及大模型在各个行业的应用和分析;学习理解大模型的核心原理,关键技术,以及大模型应用场景;通过理论原理结合多个项目实战,从提示工程基础到提示工程进阶,掌握Prompt提示工程。
L2级别:AI大模型RAG应用开发工程
L2阶段是我们的AI大模型RAG应用开发工程,我们会去学习RAG检索增强生成:包括Naive RAG、Advanced-RAG以及RAG性能评估,还有GraphRAG在内的多个RAG热门项目的分析。
L3级别:大模型Agent应用架构进阶实践
L3阶段:大模型Agent应用架构进阶实现,我们会去学习LangChain、 LIamaIndex框架,也会学习到AutoGPT、 MetaGPT等多Agent系统,打造我们自己的Agent智能体;同时还可以学习到包括Coze、Dify在内的可视化工具的使用。
L4级别:大模型微调与私有化部署
L4阶段:大模型的微调和私有化部署,我们会更加深入的探讨Transformer架构,学习大模型的微调技术,利用DeepSpeed、Lamam Factory等工具快速进行模型微调;并通过Ollama、vLLM等推理部署框架,实现模型的快速部署。
整个大模型学习路线L1主要是对大模型的理论基础、生态以及提示词他的一个学习掌握;而L3 L4更多的是通过项目实战来掌握大模型的应用开发,针对以上大模型的学习路线我们也整理了对应的学习视频教程,和配套的学习资料。
二、大模型经典PDF书籍
书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。(书籍含电子版PDF)
三、大模型视频教程
对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识。
四、大模型项目实战
学以致用,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。
五、大模型面试题
面试不仅是技术的较量,更需要充分的准备。
在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
2025最新版CSDN大礼包:《AGI大模型学习资源包》免费分享