JSX语法

作者: beizi | 来源:发表于2021-06-14 16:45 被阅读0次

什么是JSX

JSX是JavaScript XML的简写,表示在JavaScript代码中编写HTML格式代码
优势:声明式语法更加简洁,与HTML结构相同,提高开发效率

JSX中使用JavaScript表达式

1.基本用法

  • 语法:{JavaScript表达式}
  • 表达式中的数据存储在JS变量中
  let name = '被子'
  const dv = (<div>你好,我是:{name}</div>)
  ReactDOM.render(dv,document.getElementById("app"))

2. 使用注意点

  • 单大括号中正常可以是任意的JavaScript表达式
    正确:{1}、{1+1}、{'a'}、{sayHi()}、{另外一个JSX}、{ 1>0 ?'真':'假' }
  • 单大括号中不能出现语句(例如:if/for等)
    错误:{if(1>0){}}、{for(let i=0;i<10;i++){}}
  • JS对象一般只会出现在style属性中
    错误:{{name:'rose'}}
    正确:conts Home = <div style={{color:'red'}}></div>

2.JSX创建一个H1元素渲染到页面上

<!-- 导入react、react-dom、babel 三个js文件 -->
<script src="../node_modules/react/umd/react.development.js"></script>
<script src="../node_modules//react-dom/umd/react-dom.development.js"></script>
<script src="../node_modules/babel-standalone/babel.min.js"></script>

<div id="app"></div>

<script type="text/babel">
    // 用JSX方式创建React元素
    let H1 = <h1>Hello React</h1>
    // 渲染React元素到页面中
    ReactDOM.render(H1,document.getElementById('app'))
</script>

JSX中的条件渲染

  • 如果用户登录了显示欢迎登录,未登录显示请登录
let islogin = false;
function JSX(){
// if判断
if(islogin){ 
     return (<p>欢迎登录</p>); 
    }   
return (<p>请登录</p>);

}


// 三元表达式
// function JSX() {
   // return (<div>{islogin?'未登录':'登录成功'}</div>)
//}


export default JSX

JSX中的循环渲染

  • 在页面上生成一个前端技术书籍列表,就需要用到循环渲染
    语法:{ 数组变量.map( item=>( <标签>{item}</标签> ) ) }
    注意:map方法前面通常是数组,map方法的箭头函数体内容放到小括
let books = ["DOM编程艺术", "JS高级编程", "React实战"];

function JSX() {
    return (
        <ul>
        {books.map((item) => (
            <li key={item}>{item}</li>
        ))}
      </ul>
  )
}

JSX中样式处理

1.行内样式处理 - style

let books = ["DOM编程艺术", "JS高级编程", "React实战"];

function JSX() {
    return (
        <ul>
        {books.map((item) => (
            <li style={{color:'red',listStyle:'none'}} key={item}>{item}</li>
        ))}
      </ul>
  )
}

2.类名样式处理 - className
需要使用 import '样式文件路径/样式文件名称.css'导入样式文件 ,title类在xxx.css文件中定义好
JSX中给元素设置css类名是className而非class,因为class是关键字

import './index.css'

let books = ["DOM编程艺术", "JS高级编程", "React实战"];

function JSX() {
    return (
        <ul>
        {books.map((item) => (
            <li className='color' key={item}>{item}</li>
        ))}
      </ul>
  )
}

相关文章

  • react-jsx

    jsx 是类似 js 模板语法 声明 jsx 使用 jsx jsx 语法 jsx 是 js 的语法扩展,在 jsx...

  • react语法结构

    1.react JSX语法原理 react是函数式编程,使用jsx语法来渲染组件。jsx语法是合法的JavaScr...

  • React 笔记

    JSX React 采用jsx语法,需用bable.js转义. JSX 语法可以和html 混写. html以< ...

  • (React)认识React语法

    一、JSX语法 在React中,没有使用HTML标签来绘制UI,而是使用了JSX语法。 当然JSX语法中,也可以嵌...

  • React 基础.md

    基本引入 js,最后的 标签是text/babel是因为JSX语法 什么是 jsx?JSX语法非常适合表示嵌套...

  • React - jsx语法

    jsx语法

  • React官网随记

    JSX jsx,一种js的语法扩展,React.createElement方法的语法糖。 在jsx中可嵌入任何表达...

  • jsx语法

    什么是jsx语法:就是符合xml规范的js语法(语法格式相对来说,要比HTML严谨) 1、如何启用jsx语法? 安...

  • 深入React技术栈:初入React世界(2)

    JSX基本语法JSX的官方定义是类XML语法的ECMAScript的扩展。 XML基本语法使用类XML语法好处之一...

  • JSX语法

    在react中,在js文件里写html标签,我们把这种语法称为 jsx语法。 jsx语法与普通js语法的区别 普通...

网友评论

    本文标题:JSX语法

    本文链接:https://www.haomeiwen.com/subject/gpqneltx.html