前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
开发者导航
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
开发者导航

React之JSX语法及非DOM操作属性(二)

首页
2017-11-19 10:11:24
Front-End
JavaScriptreact

# 一、JSX是什么

  • 一个语法或者说是语法糖
  • 基于ECMAScript一种新的特性
  • 一种定义带属性(DOM节点)树结构(DOM结构)的语法

JSX不是

  • 一门新的语言
  • XML或者HTML
  • 一种限制,可以不使用JSX

# 二、JSX的特点

  • 类XML语法,易于接受
  • 增强JS语义,在js中编辑HTML
  • 结构清晰
  • 抽象程度高(核心):避免手动DOM操作,跨平台
  • 代码模块化

# 三、JSX语法

/*
    JSX(javaScriptXML)语法入门:
        1、不是一门语言,是一个语法或者说是语法糖
        2、JSX标签其实就是HTML标签,只不过在javascript中这些标签的时候,
            不使用“”,遇到HTML标签(以<开始),就用HTML规则解析,遇到代码块
            (以{开始),就用javascript规则解析
        3、JSX语法浏览器无法解析,需要使用插件将其转化为js代码
        4、代码更加直观
*/
/*
    1、首字母必须大写
    2、驼峰命名
    3、使用className与htmlFor代替class和for
    4、组件与组件之间是可以嵌套的
    5、在JSX语法中只能使用求值表达式,不能使用语句
    6、只有一个顶层标签
*/
var Demo = React.createClass({
    change:function (){
        return 'demo'
    },
    handleClick:function(){
        alert(1)
    },
    render: function(){
        // this指向整个(当前的组件)组件
        return <div className="demo" onClick={this.handleClick}>这是一个{this.change()}</div>
    }
})
// console.log(Demo)
ReactDOM.render(<Demo />,document.getElementById('app'))
@前端进阶之旅: 代码已经复制到剪贴板

# 四、JSX的注释

  • 在JSX语法中,添加注释需要写在 { } 中
  • 可以使用多行注释与单行注释
var HelloWorld = React.createClass({
    render:function(){
        // 现在这里是属于js的部分,不属于JSX语法的部分
        return (
            <div className="box" // class名字
            >
                {/*这是一个标题*/}
                <h1 className="title">Hello World</h1>
                {/*这是说明*/}
                <p>你好世界!</
fe
  • 一、JSX是什么
  • 二、JSX的特点
  • 三、JSX语法
  • 四、JSX的注释
  • 五、JSX中使用样式
  • 六、条件判断的四种写法
  • 七、非DOM(元素)属性

← React之组件的生命周期以及属性状态(三)React之环境的搭建(一) →