React 可以直接下载使用,下载包中也提供了很多学习的实例。
本教程使用了 React 的版本为 18.2.0,你可以在官网 https://reactjs.org/ 下载最新版。
使用字节跳动的 React CDN 库,地址如下:
<script src="https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/react/18.2.0/umd/react.production.min.js" ></script>
<script src="https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M/react-dom/18.2.0/umd/react-dom.production.min.js"></script>
<script src="https://lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M/babel-standalone/6.26.0/babel.min.js" ></script>
使用 Staticfile CDN 的 React CDN 库,地址如下:
<script src="https://cdn.staticfile.org/react/18.2.0/umd/react.development.js"></script><script src="https://cdn.staticfile.org/react-dom/18.2.0/umd/react-dom.development.js"></script><!-- 生产环境中不建议使用 --><script src="https://cdn.staticfile.org/babel-standalone/6.26.0/babel.min.js"></script>
官方提供的 CDN 地址:
<script src="https://unpkg.com/react@16/umd/react.development.js"></script><script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script><!-- 生产环境中不建议使用 --><script src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></script>
注意: 在浏览器中使用 Babel 来编译 JSX 效率是非常低的。
使用实例
以下实例输出了 Hello, world!
React 实例
<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Hello React!</title><script src="https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/react/18.2.0/umd/react.production.min.js" ></script><script src="https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M/react-dom/18.2.0/umd/react-dom.production.min.js"></script><script src="https://lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M/babel-standalone/6.26.0/babel.min.js" ></script></head><body> <div id="example"></div><script type="text/babel">// 简单的 React 组件 function App() { return <h1>Hello, React!</h1>; } const root = ReactDOM.createRoot(document.getElementById("example")); // 渲染 React 组件到 DOM root.render(<App />);</script> </body></html></script> </body></html>
实例解析:
实例中我们引入了三个库: react.production.min.js 、react-dom.production.min.js 和 babel.min.js:
- react.min.js - React 的核心库
- react-dom.min.js - 提供与 DOM 相关的功能
- babel.min.js - Babel 可以将 ES6 代码转为 ES5 代码,这样我们就能在目前不支持 ES6 浏览器上执行 React 代码。Babel 内嵌了对 JSX 的支持。通过将 Babel 和 babel-sublime 包(package)一同使用可以让源码的语法渲染上升到一个全新的水平。
// 简单的 React 组件function App() { return <h1>Hello, React!</h1>;} const root = ReactDOM.createRoot(document.getElementById("example"));// 渲染 React 组件到 DOMroot.render(<App />);
以上代码将一个 h1 标题,插入 id="example" 节点中。
const root = ReactDOM.createRoot(document.getElementById("example"));
- 获取 DOM 容器:
document.getElementById("example")
获取了一个 id 为 "example" 的 DOM 元素。 - 创建根节点:
ReactDOM.createRoot
是 React 18 引入的新方法,用于创建一个 React 根节点。在这个例子中,root
变量保存了这个根节点。
注意:
如果我们需要使用 JSX,则 <script> 标签的 type 属性需要设置为 text/babel。