react中jsx的基本使用

发布时间 2023-04-26 20:49:59作者: 朱龙旭看世界
// 使用 createElement太繁琐 不直观 不优雅开发体验不好  代码维护不行

// jsx 不是  js 而是 js的扩展语法
// jsx 是react的核心内容  
// react项目中已经有了 bable 所以在react项目中直接使用 jsx 语法 【自动编译】

// jsx 的写法就是声明式的写法 直接简单移动 就像在 vue 的template 直接写 dom 一样也是声明式的写法
// 不需要引入 react 包 会自动转换【bable】
// const ul = <ul className="list">
// <li>橘子</li>
// <li>香蕉</li>
// <li>苹果</li>
// </ul>
import reactDom from "react-dom"

// 使用函数返回dom结构
// jsx 建议使用 () 包裹起来
function fn(){
    return (<>
     <h1 className="demo">hellow jsx</h1>
     <span>第二个标签</span>
     <br/>
     <label htmlFor="name">点击我直接获取焦点</label>
     <input type="text" id="name" />
</>)
}

// jsx 中使用类的不是class而是 className

/// jsx 必须有一个跟节点 和 vue2的要求一样 否则报错
// (<></>) 这是空节点包裹
// 属性使用驼峰命名
// label 标签的 for 属性
const h1 = fn()
reactDom.render(h1,document.querySelector("#root"))