入门
- 引入react
- 创建容器
- 创建虚拟DOM
- 渲染虚拟DOM到页面
| <!--引入react,react.develop要在react-dom之前--> |
| <script crossorigin src="https://unpkg.com/react@18/umd/react.development.js"></script> |
| <script crossorigin src="https://unpkg.com/react-dom@18/umd/react-dom.development.js"></script> |
| <script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script> |
| |
| <!-- 创建容器--> |
| <div id="test"></div> |
| |
| <!-- 写babel,babel将jsx翻译 --> |
| <script type="text/babel"> |
| |
| const VDOM = <h1>hello</h1> |
| |
| const container = document.getElementById('test'); |
| const root = ReactDOM.createRoot(container); |
| root.render(VDOM); |
| </script> |
| |
jsx语法规则
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <script type="text/babel"> |
| const data = "sjsjs" |
| const VDOM = ( |
| <div> |
| <h2 className="title" style={{ color: 'white', fontSize: '40px' }}>{data}</h2> |
| <input type="text" /> |
| </div> |
| ) |
| ReactDOM.render(VDOM, document.getElementById('test')) |
| |
| </script> |
| |
| const data = ['v1', 'v2', 'v3']; |
| |
| |
| const VDOM = ( |
| <div> |
| <h1>hello</h1> |
| <ul> |
| { |
| data.map((item, index) => { |
| return <li key={index}>{item}</li> |
| }) |
| } |
| </ul> |
| </div> |
| ) |
创建虚拟DOM的两种方法
虚拟DOM
- 虚拟DOM本质是object类型的对象
- 虚拟DOM比真实DOM轻
- 虚拟DOM最终会被react传化为真实DOM,呈现在页面中
js创建(一般不用)
| <script type="text/babel"> |
| |
| const VDOM = React.createElement('h1', { id: 'test' }, 'hello') |
| |
| const container = document.getElementById('test'); |
| ReactDOM.render(VDOM, container) |
| </script> |
jsx创建
| <script type="text/babel"> |
| |
| const VDOM = <h1>hello</h1> |
| |
| const container = document.getElementById('test'); |
| const root = ReactDOM.createRoot(container); |
| root.render(VDOM); |
| </script> |
面向组件编程
函数式组件
| <script type="text/babel"> |
| |
| |
| function Demo() { |
| return <h2>我是用函数定义的组件,用于[简单组件]的定义</h2> |
| } |
| const root = ReactDOM.createRoot(document.getElementById('test')); |
| root.render(<Demo />) |
| |
| |
| |
| |
| </script> |
类式组件
| <script type="text/babel"> |
| |
| |
| class MyComponent extends React.Component { |
| |
| |
| render() { |
| return <h2>我是用函数定义的组件,用于[简单组件]的定义</h2> |
| } |
| } |
| |
| const root = ReactDOM.createRoot(document.getElementById('test')); |
| root.render(<MyComponent />) |
| |
| |
| |
| |
| </script> |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具