`标签用于创建文本元素。 * `
这是文本元素。
这是一篇文章
``` **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"))