React语法及使用

1.使用React渲染一个最基本的页面

//1.导入
import React from "react";//创建组件、虚拟DOM元素,生命周期
import ReactDOM from 'react-dom';//把创建好的组件和虚拟DOM放到页面上去展示的

//2.创建虚拟DOM元素
//参数1:创建的元素的类型
//参数2:是一个对象或null,表示当前这个DOM元素的属性
//参数3:子节点
//参数n:其他子节点
const myh1 = React.createElement('h1',{id:'myh1',title:'this is myh1'},'这是用react创建的');

//3,使用ReactDOM把虚拟DOM渲染到页面上
//参数1:要渲染的那个虚拟DOM元素
//参数2:页面上的一个容器
ReactDOM.render(myh1,document.getElementById('container'));

2.实现DOM元素嵌套渲染

const myh1 = React.createElement('h1',{id:'myh1',title:'this is myh1'},'这是用react创建的');
const mydiv = React.createElement('div',{id:'mydiv',title:'this is mydiv'},'这是用react创建的div',myh1);
ReactDOM.render(mydiv,document.getElementById('container'));

3.JSX语法

启用JSX语法

(1)安装babel插件,执行以下命令

cnpm i babel-core babel-loader babel-plugin-transform-runtime -D
cnpm babel-preset-env babel-preset-stage-0 babel-preset-react -D

(2)在webpack.config.js文件中写入第三方配置规则

//webpack默认只能打包处理.js后缀名类型的文件,像.png,.vue等无法处理,所以要配置第三方的loader
module.exports = {
    mode:"development",
    plugins:[
        htmlPlugin
    ],
    module:{//所有第三方模块的配置规则
        rules:[//第三方匹配规则
            //千万别忘记添加exculde排除项
            {test:/\.js|jsx$/,use:'babel-loader',exclude:/node_modules/,}
        ]
    }
}

(3)在项目根目录下添加.babelrc配置文件,写入以下代码

{
    "presets":["env","stage-0","react"],
    "plugins":["transform-runtime"]
}

JSX语法的本质:

并不是直接把JSX渲染到页面上,而是内部先转换成立creatElement形式后再渲染的

在JSX中可以混合写入JS表达式,但是要把JS代码写到{}中

let a = -2;
let str = '你好';
let boo = true;
let title = '999';
const h1=<h1>这是h1</h1>
const arr = [
	<h2>这是h2</h2>,
	<h3>这是h3</h3>
.]
ReactDOM.render(<div>
	//渲染数字
	{a+2}
	//渲染字符串
	{str}
	//渲染布尔值
    {boo ? '条件为真':'条件为假'}
    //为属性绑定值
    <div title = {title}></div>
    //渲染JSX元素
    {h1}
    //渲染JSX数组
    {arr}
</div>,
    document.getElementById('container')
)

将普通字符串转为JSX数组并渲染到页面上
(1)在外部使用forEach循环

      const arr = ['小王','小路','小刘','小样'];
      const newArr=[];
      arr.forEach(item => {
   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值