React jsx语法入门

JSX就是Javascript和XML结合的一种格式。
React发明了JSX,利用HTML语法来创建虚拟DOM。
简单的来说:
1.遇到标签,JSX就当HTML解析。
2.遇到{代码}就当JavaScript解析。
注意:解析使用到了babel插件
入门案例:
1.安装:
webpack:
    cnpm install webpack webpack-cli -D
webpack-dev-server:
    cnpm i webpack-dev-server -D
babel:
    cnpm i babel-loader -D
    cnpm i @babel/core @babel/plugin-transform-runtime @babel/preset-env -D
    cnpm i @babel/preset-react -D
React:
cnpm i react react-dom -s
2.配置文件:
package.json
{
“name”: “demo”,
“version”: “1.0.0”,
“description”: “”,
“main”: “index.js”,
“scripts”: {
“test”: “echo “Error: no test specified” && exit 1”,
+“dev”: "webpack-dev-server --open --port 3000 --hot --host 127.0.0.1"
},
“keywords”: [],
“author”: “”,
“license”: “ISC”,
“devDependencies”: {
“@babel/core”: “^7.4.3”,
“@babel/plugin-transform-runtime”: “^7.4.3”,
“@babel/preset-env”: “^7.4.3”,
“@babel/preset-react”: “^7.0.0”,
“babel-loader”: “^8.0.5”,
“html-webpack-plugin”: “^3.2.0”,
“webpack”: “^4.30.0”,
“webpack-cli”: “^3.3.0”,
“webpack-dev-server”: “^3.3.1”
}
}
webpack.config.js
const path=require(‘path’)
//把html映射的项目跟目录
const HtmlWebPackPlugin=require(‘html-webpack-plugin’)
//

//创建插件实例
const htmlPlugin=new HtmlWebPackPlugin({
template:path.join(__dirname,’./src/index.html’),//源文件
plugins:‘index.html’//映射的目录,默认项目跟目录

})
//向外暴露一个配置对象
module.exports={
mode:‘development’,//development ,production
plugins:[//第三方插件
htmlPlugin
],module:{//第三方模块匹配规则
rules:[
{
test:/.js|jsx$/,//匹配规则
use:‘babel-loader’,//指定解析器
exclude:/node_modules/
}
]
}
}
.babelrc
{
“presets”: [
“@babel/preset-env”,"@babel/preset-react"
],“plugins”: [
“@babel/plugin-transform-runtime”
]
}
3.代码
index.html
<html>
<head>
</head>
<body>
<div id=“app”>
</body>
</html>
index.js
//导入组件:生成虚拟DOM对象,生命周期
import React from ‘react’
//导入组件:把创建好的组件和虚拟DOM对象,渲染到页面
import ReactDOM from ‘react-dom’
//jsx语法
//1渲染数字
let num=10
//2渲染字符串
let str=‘你好中国’
//3 .渲染boolean
let bool=true
//4. 为属性绑定值
let title=‘999’
//注意赋值的时候没有引号
//5. 渲染jsx元素
const myh1=<h1>哈哈哈jsx</h1>
//6. 渲染jsx元素数组
const myarr=[<h2>aaa</h2>,<h2>bbb</h2>,<h2>ccc</h2>]
//7. 将普通字符数组换行 jsx数组
const strarr=[‘西游记’,‘东游记’,‘北游记’]
//方式一,遍历组装
const parsearr=[]
//forEach 遍历组装
strarr.forEach(item=>{
parsearr.push(<h3>{item}</h3>)
})
//map 遍历组装
const parsearr2=strarr.map(item=>{
return <h3>{item}</h3>
})
const mydiv=<div>
{num+10}



{str}


{bool?‘true’:‘false’}

<p title={title}>段落</p>
{
//特殊属性:
//1. class 要写成className
//2. for属性要写成 htmlFor
}


//5. 渲染jsx元素
{myh1}

//6. 渲染jsx元素数组
{myarr}

{parsearr}

{parsearr2}

{strarr.map(item=>{
return <h3>{item}</h3>
})}


//如果只有一行代码 括号可以省略,return 也可以省略
{
/ jsx注释:如果只有一行代码 括号可以省略,return 也可以省略/
//jsx注释:如果只有一行代码 括号可以省略,return 也可以省略
}
{strarr.map(item=><h3>{item}</h3>)}

//渲染到页面
ReactDOM.render(mydiv,document.getElementById(‘app’))
案例下载

Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值