认识 JSX

JSX 是什么

  • JSX 是一种 JavaScript 的语法扩展(extension),或被称之为 JavaScript XML(因为其看起来像一段 XML 语法)。
  • 用于描述 UI 界面,可以和 JavaScript 一起融合使用。
  • 不同于 Vue,不需要学习一些指令(比如 v-for、v-if、v-else、v-bind)

JSX 书写规范

  • JSX 顶层只能拥有一个根元素,所以需要在最外层包裹 div 或 fragment 元素。
  • 为了代码的可读性,通常需要在 JSX 代码外包裹括号 ”( )“ ,这样 JSX 可在其中换行书写
  • JSX 支持 元素与空元素书写,但是要保证代码格式正确,所有元素均需以 ”/>“结尾

代码示例:

render() {
          return (
            <div>
              <img src="" alt="" />
              <h2>当前计数: {this.state.counter}</h2>
              <button onClick={this.plusOne.bind(this)}> +1 </button>
              <button onClick={this.minusOne.bind(this)}> -1 </button>
            </div>
          );
        }

React 为什么使用 JSX

以下代码笔者个人观点:

JSX 支持以下代码书写,要与 JS 进行区分,众所周知 JS 支持的变量的数据类型中并不包含 HTML 元素。

const element = <h2>Hello React</h2>;
ReactDOM.render(element, document.getElementById("app"));

JSX 的代码书写与前端开发的职责分离观念(HTML 只负责页面框架、CSS 只负责页面样式、JS 只负责页面交互)背道而驰,这是因为 React 认为 " all in javascript "。

  • React 认为渲染逻辑本质上与其他 UI 逻辑存在内在耦合
    • 比如 UI 需要绑定事件(button、a 元素等)
    • 比如 UI 中需要展示数据状态,在某些状态发生改变时,又需要改变 UI
  • React 认为 HTML、CSS、JS 之间密不可分,并没有将它们分离到不同的文件中,而是将它们组合到一起,构成组件(Component)
  • 可以认为 JSX 是嵌入到 JavaScript 中的一种结构语法

JSX 注释书写

JSX 只支持一种注释书写方式,如下代码所

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值