`标签用于创建文本元素。 * `
这是文本元素。
这是一篇文章
``` **JSX 条件渲染** JSX 中可以使用条件渲染来实现组件的结构和内容。 ```jsx加载中...
``` **JSX 列表渲染** JSX 中可以使用列表渲染来展示组件的结构和内容。 ```jsx // React.createElement创建的ele是一个js对象
// 第一个参数:要创建的React元素
// 第二个参数:该React元素的属性
// 第三个参数及其以后的参数:该React元素的子节点
const ele = React.createElement('h1', {id: '标题'}, 'Helle React Ele');
// ReactDOM.render将这个react生成的js对象,映射成真实的DOM元素并展示到屏幕上
// 第一个参数:要渲染的React元素
// 第二个参数:DOM元素,用于指定渲染到页面中的位置, 所以React创建的应用是SPA单页面应用。
ReactDOM.render(ele, document.getElementById('root'))
const ele3 = React.createElement('h2', {id:'title2'}, React.createElement('h3', {id:'title3'}, 'hello, ele3'))
const ele4 = <h2><h3>hello, ele4</h3></h2>
const ele5 = document.getElementById('demo')
console.log('虚拟DOM', ele4)
console.log('真实DOM', ele5)
debugger
ReactDOM.render(ele2,document.getElementById('rootReact'));
const ele4 = <h2><h3>hello, ele4</h3></h2>
ReactDOM.render(ele2,document.getElementById('rootReact'));
const ele3 = React.createElement('h2', {id:'title2'}, React.createElement('h3', {id:'title3'}, 'hello, ele3'))
ReactDOM.render(ele2,document.getElementById('rootReact'));
<script type="text/babel">
let myDom = <h1>hello tan</h1>;
//将虚拟DOM元素myDom, 渲染到真实DOM上去
ReactDOM.render(myDom,document.getElementById('rootReact'));
</script>
.npm install -g create-react-app 全局安装脚手架 2.create-react-app --version 查看安装的版本 3.create-react-app my-app 创建项目 4.npm start/ yarn start 启动项目
npx create-react-app my-app 创建项目 2.npm start/ yarn start 启动项目
import React from 'react';
import ReactDOM from 'react-dom';
const ele = React.createElement('h1', {title: '文章的标题'}, 'Hello React')
ReactDOM.render(ele, document.getElementById('root'))
let p1 = React.createElement('h1',null,"hello React !!")
let p2 = <h1>"hello React !!"</h1>
ReactDom.render(p1, document.getElementById("root"))
1.a
2.a+b
3.list.map()
它们在左边都可以用一个const var = 进行接收。
这个接收的值是{}要展示的值
js语句是什么
1.if(){}
2.for(){}
3.switch(){}
这些没有返回指定值的代码就是js语句,它们不能放到React的{}中
let loading = false
//条件渲染
//1.if else表达式
let loadData = () => {
if (loading) {
return <h4>加载中...</h4>
} else {
return <h4>加载完成</h4>
}
}
//2.三元运算符
loadData = () => {
return loading ? <h4>加载中...</h4> : <h4>加载完成</h4>
}
//3.逻辑运算符
loadData = () => {
return loading && <h4>加载中...</h4>
}
const container = (
<div>
{loadData()}
</div>
)
ReactDom.render(container, document.getElementById("root"))
//列表渲染
const songs = [
{id:1,name:"大约在冬季"},
{id:2,name:"菊花台"},
{id:3,name:"捉泥鳅"}]
const container = (
<div>
{songs.map((item)=><li key={item.id}>{item.name}</li>)}
</div>
)
ReactDom.render(container, document.getElementById("root"))
//样式渲染
const artile = function () {
return <p className="title" style={{color:"red", textAlign:"center"}}>这是一篇文章</p>
}
const container = (
<div>
{artile()}
</div>
)
ReactDom.render(container, document.getElementById("root"))