zoukankan      html  css  js  c++  java
  • JSX语法

    1.JSX语法的本质:并不是直接把jsx渲染到页面上,而是内部先转换成了createElement形式再进行渲染的

    2.在jsx中混合写入js表达式:在jsx语法中,要把js代码写到{ }中

    渲染数字
    let a = 10;
    ReactDOM.render(<div>{a}</div>,document.getElementById('app'));
    渲染字符串
    let str = '你好,中国';
    ReactDOM.render(<div>{str}</div>,document.getElementById('app'));
    渲染布尔值
    let boo = true;
    ReactDOM.render(<div>{boo ? '条件为真' : '条件为假'}</div>,document.getElementById('app'));
    为属性绑定值
    let title = '999';
    ReactDOM.render(<div><p title={title}>这是一个p标签</p></div>,document.getElementById('app'));
    渲染jsx元素
    const h1 = <h1>哈哈哈哈哈哈哈</h1>;
    ReactDOM.render(<div>{h1}</div>,document.getElementById('app'));
    渲染jsx元素数组
    const arr = [<h2>这是h2</h2>,<h3>这是h3</h3>];
    ReactDOM.render(<div>{arr}</div>,document.getElementById('app'));

    将普通字符串数组,转为jsx数组并

    渲染到页面上(两种方案)

    const arrStr = ['毛利兰','柯南','小五郎','灰原哀'];
    
    //定义一个空数组,将来用来存放名称标签
    const nameArr = [];
    //注意:react中需要把key添加给被forEach或map循环直接控制的元素
    arrStr.forEach(item => {
        const temp = <h5 key={item}>{item}</h5>;
        nameArr.push(temp);
    });
    
    ReactDOM.render(<div>{nameArr}</div>,document.getElementById('app'));
     
    const arrStr = ['毛利兰','柯南','小五郎','灰原哀'];
    
    //直接在jsx里面循环,数组map方法也是遍历数组的每一项,并生成一个新的数组返回,注意:map中必须要写return
    ReactDOM.render(<div>{arrStr.map(item => {
            return <h3 key={item}>{item}</h3>
        })}</div>,document.getElementById('app'));

    3.在jsx中写注释:有两种方法

    //第一种注释(推荐使用):{/* */}
    {/*{arr}*/}
    
    //第二种注释:
    {
         //这里是注释的内容  
    }

    4.为jsx中的元素添加class类名:需要使用className来代替class;htmlFor替换label的for属性

    <p className="myele">!!!!!</p>
    <label htmlFor="ooo">1111</label>
  • 相关阅读:
    第四次博客作业结对项目
    centos7 python3 安装paramiko模块
    zabbix启动报错:“No space left on device: AH00023”
    zabbix监控历史数据清理过程
    zabbix:登录页面是显示Database:Error connecting to database: Access denied for user 'zabbix' @ 'localhost'
    解决:Linux漏洞目标主机showmount e信息泄露(CEE19990554)
    关于Sentaurus的日常(二)(Carrier Transport Models)
    SQLITE3
    Dos命令大全完整版
    四级菜单实现(Python)
  • 原文地址:https://www.cnblogs.com/zcy9838/p/12011142.html
Copyright © 2011-2022 走看看