通过DOM向页面中添加一个div
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>Hello World</title>
</head>
<body>
<div id="root"></div>
<script>
const div = document.createElement('div');
div.innerText = '我是一个div';
const root = document.getElementById('root');
root.appendChild(div);
</script>
</body>
</html>
<div id="root">
<div>我是一个div</div>
</div>
React向页面中添加元素
方法简介
React.createElement(type, props, ...children)
- 用来创建一个React元素
- 参数:
- 元素名(组件名)
- 元素中的属性
- 元素的子元素(内容)
原文档链接
ReactDOM.createRoot(domNode)
- 用来创建React根元素,需要一个DOM元素作为参数
原文档链接
1、通过React向页面中添加一个div
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>Hello World</title>
<script src="script/react.development.js"></script>
<script src="script/react-dom.development.js"></script>
</head>
<body>
<div id="root"></div>
<script>
const div = React.createElement('div', { className: "box" }, '我是React创建的div');
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(div);
</script>
</body>
</html>
<div id="root">
<div class="box">我是React创建的div</div>
</div>
2、通过React向页面中添加多个元素
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>Hello World</title>
<script src="script/react.development.js"></script>
<script src="script/react-dom.development.js"></script>
</head>
<body>
<div id="root"></div>
<script>
const element = React.createElement('div', { className: 'container' },
React.createElement('h1', { className: 'title' }, '复杂DOM示例'),
React.createElement('p', { className: 'description' }, '这是一个使用React.createElement创建的复杂DOM结构'),
React.createElement('ul', { className: 'list' },
React.createElement('li', null, 'Item 1'),
React.createElement('li', null, 'Item 2'),
React.createElement('li', null, 'Item 3')
)
);
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(element);
</script>
</body>
</html>
<div id="root">
<div class="container">
<h1 class="title">复杂DOM示例</h1>
<p class="description">这是一个使用React.createElement创建的复杂DOM结构</p>
<ul class="list">
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
</div>