React(2013 年开源)给自己的定位是「库」而非框架:它只解决「数据 → 视图」的映射问题,路由、状态、请求都交给生态搭配。两大思想支柱:声明式(描述界面长什么样而非一步步操作 DOM)与组件化(界面拆成可复用的函数组件树,数据单向流动)。
React 16.8(2019)的 Hooks 是分水岭:函数组件获得了状态与副作用能力,class 组件逐渐退场。React 18 带来并发渲染与自动批处理。生态组合(React Router + Redux/Zustand + Vite)是大型应用的主流形态,React Native 还能写跨端应用。
<div id="root"></div> <script src="https://unpkg.com/react@18/umd/react.development.js"></script> <script src="https://unpkg.com/react-dom@18/umd/react-dom.development.js"></script> <script> const { useState } = React; // 函数组件:返回界面描述,状态驱动更新 function Counter() { const [n, setN] = useState(0); return <button onClick={() => setN(n + 1)}>点了 {n} 次</button>; // 上面是 JSX,@babel 或构建工具负责编译 } ReactDOM.createRoot(document.getElementById('root')) .render(<Counter />); </script>