数码资讯
01 手摸手教学-React中的JSX语法-你真的会JSX吗?
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
01 jsx初体验
1、定义组件的时候,return 后面只能有一个根标签,不能有多个,但这个标签内部可以有其他多个标签
2、使用组件的时候,首字母必须大写
3、如果最外层实在不想放置一层div根目录,可以使用 <></> 空标签代替
// JSX expressions must have one parent element.ts(2657)
#当你写了2个标签,可以外层加div解决,但是官方推荐 空标签
02 jsx的注意点
1、JSX的特点
JSX 执行更快,因为它在编译为 JavaScript 代码后进行了优化。 它是类型安全的,在编译过程中就能发现错误。 使用 JSX 编写模板更加简单快速。
2、JSX几个注意的格式:
1、React的JSX是使用大写和小写字母来区分本地组件和HTML组件
(如:html就用 div p h1 , 组件就用 MyButton App Home List等 )
2、JSX和html的标签属性的区别
import React, { Component } from 'react'
var MyImg = require('./assets/01.jpg')
export default class App2 extends Component {
render() {
return (
<>
<label htmlFor="ipt">label</label>
<input type="text" id="ipt" className="ipt" style={{background: 'pink', color: 'green'}} />
<hr/>
<img src={MyImg} alt=""/>
</>
)
}
}
注意:图片查找路径在src目录,所以引入的时候从src目录触发查找文件
3、React的JSX创建出来的是虚拟DOM,而不是HTML
在index.js中:
import React from 'react'
import ReactDOM from 'react-dom'
import App from './App3'
ReactDOM.render(
<App />,
document.getElementById('root')
);
const virtualDOM = React.createElement('div')
const realDOM = document.createElement('div')
let virtualNum = 0;
for(var key in virtualDOM){
virtualNum++;
}
let realNum = 0;
for(var key in realDOM){
realNum++;
}
console.log('虚拟DOM的属性个数:'+virtualNum) // 7
console.log('真实DOM的属性个数:'+realNum) // 298
4、JSX变量引用、三目运算符、for循环
在JSX中,想要调用变量,需要在return中直接使用单花括号--**{}**调用
index.js中:
JSX中变量引用、三目运算符、for循环的使用
import App3 from './App3'
//2、通过JSX语法将标签/组件渲染到指定标签上
ReactDOM.render(
<App3 />
, document.getElementById('root'));
App3.js中
import React, { Component } from 'react'
let name = "小明", num1=20, num2=30, arr=[1, 2, 3, 4, 5]
export default class App3 extends Component {
render() {
return (
<div>
{/* 这是注释的格式 */}
{/* JSX中引用变量需要加单花括号 */}
<p>{name}</p>
{/* 三目运算符的使用 */}
<p>num1和num2中比较大的是:{num1>num2? num1: num2}</p>
<p>{gender === 0 ? '男' : (gender === 1 ? '女' : '保密')}</p>
{/* for循环的使用 */}
<ul>
{/* 数组名.map(函数) */}
{
//格式1:
arr.map((v,k)=>(
<li key={k}>{v}</li>
))
}
{
//格式2:可以把下面的大括号和return换成小括号
arr.map((v,k)=>{
return <li key={k}>{v}</li>
})
}
</ul>
</div>
)
}
}
总结:在jsx语法中,需要书写js代码的时候,请先加上{ } 再书写js语法
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。