初识React(2):什么是JSX?

前言

在react中,我们的页面内容就是通过JSX来编写,那么JSX到底是什么呢?JSX其实就是JavaScript对象,会构建创建一个js对象来描述HTML结构的信息。这里要记住JSX是js的一种扩展语言,类似HTML但是又不是HTML,因为JSX中还能进行运算,判断,加入一些js语言等。

JSX中的运算

   render() {
      return(
        <div>
           <h2>算数题</h2>
           <ul>
             <li>5+6={5+6}</li>
             <li>6+6={6+6}</li>
             <li>10*10={10*10}</li>
           </ul>
        </div>
      )
    }

在JSX中是用 {} 来区分是HTML还是js的,也就是说,所有的js语言都得用 {} 括起来

JSX中的变量

 render() {
      const flag = true;
      return(
        <div>
            {flag ? (<div>flag为真</div>) : (<div>flag为假</div>)}
        </div>
      )
    }

JSX中的样式

在JSX中,给元素添加样式也是用style属性,但是style里面放的是一个样式对象,如下所示:

 render() {
      var newStyle = {
        background: 'blue',
        fontSize:'15px'
      }
      return(
        <div>
            <div style={{color: 'red'}}>颜色</div>
            <div style={newStyle}>样式</div>
        </div>
      )
    }

通过上述案例,我们可以知道JSX中,样式的属性名称得用驼峰命名

JSX中的HTML标签

在JSX中,有些标签名称为了防止冲突得做一些转换:

  1. class得用className代替
  2. lable元素中的for属性,得用htmlFor代替,如下:
<label htmlFor="msg" ></label>

这里还要注意,JSX中的所有标签必须得是闭标签

    原文作者:hope93
    原文地址: https://segmentfault.com/a/1190000016046960
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞