什么是JSX?

JSX = JavaScriptXML

 jsx是一种基于Ecmascript的一种新特性,
 是一种定义带属性树结构的语法,树结构就是我们的dom结构,属性就是dom节点中的属性

 jsx不是xml或者Html,不是一种限制。

在react中,我们可以使用jsx来编写代码,也可以使用纯javascript来编写代码,所以说即使你不学jsx也可以正常使用react 。

JSX的特点:

  1. 类XML语法容易接受
  2. 增强js语义
  3. 结构清晰
  4. 抽象程度高
  5. 代码模块化
 var SubSubComp = React.createClass({
        render:function(){
            console.log(this.props);
            return(
                <div>
                    <p>你想表达啥?</p>
                    <input type="text" valueLink={this.props.messageLink}/>
                    <p>你喜欢React么?</p>
                    <input type="checkbox" checkedLink={this.props.likeLink}/>
                </div>
            )
        }
    })

    React.render(<SubSubComp/>,document.getElementById('app'));

 从上面的代码中,我们可以看出,jsx其实本质上就是js,他和js的区别就是可以直接在里面编写html标签,这在普通的js中是无法实现的,要想实现只能采用字符串的形式来拼接标签,但是在jsx中,可以原生的支持html标签。

注意: 

  1. react对于首字母的大小写是敏感的,如果一个组件的首字母是大写,那么react就知道他是一个自定义的组件,如果是小写,react就会把它当做自带dom的自带元素名
  2. 组件和组件之间,就像dom和dom之间,可以进行嵌套
  3. jsx标签使用的是驼峰命名
  4. 两个特殊的属性。html的标签中可以使用html属性和class属性,但是我们现在是在js的上下文中区编写html文件,html和class是js得保留字和关键字,所以我们不能直接把他写在js中,jsx解决这个问题的办法就是使用两个别名来代替他们,也就是htmlFor和className,如果我们要使用html和class属性,我们实际要写的是htmlFor和className
  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值