Taro 多端开发实现原理之:React 核心语法初识

本文介绍了React的核心语法,包括JSX、组件化、Props和State以及组件生命周期,阐述了如何在Taro多端开发中运用React语法。通过示例解释了JSX如何将HTML模板嵌入JS,组件的创建与使用,以及props和state的数据传递。此外,还概述了组件的生命周期函数及其在不同阶段的作用。
摘要由CSDN通过智能技术生成

在整个前端体系发展的过程中,React 语法体系起到了至关重要的作用,Taro 也正是基于 React 语法来进行开发。本章我们逐一介绍一下 React 语法体系。

:目前 Taro 所支持的 React 语法版本是以 React15 为基础的,所以本篇文章说的生命周期, API 等都是基于 React15 的版本。而想了解更多关于 React16 版本的变更情况,可到官网查阅。

JSX 语法

JSX 是 React 的核心组成部分,React 认为组件化才是正确的代码分离方式,它要比模板与组件逻辑分开的方式更好,所以就有了 JSX 语法。它把 HTML 模板直接嵌入到 JS 代码里面,这样就做到了模板和组件关联。JSX 允许在 JS 中直接使用 XML 标记的方式来声明界面,初次看起来,可能会有点糅杂的感觉,不太适应。但习惯了之后,也没有那么别扭,而且开发起来还蛮方便的。

举个 Taro 里的例子:

// 只看 render 函数,绝大多数情况下 render 函数里都会有 XML 标记
render () {
   
  return (
    <View className='index'>
      <View className='title'>{
   this.state.title}</View>
      <View className='content'>
        {
   this.state.list.map(item => {
   
          return (
            <View className='item'>{
   item}</View>
          )
        })}
        <Button className='add' onClick={
   this.add}>添加</Button>
      </View>
    </View>
  )
}

可以见到,render 函数返回了一些用括号包住的 XML 结构的界面描述,这其实就是该组件的界面描述。里面的写法和 HTML 并没有多大的差别。不同的地方主要是可以在里面进行事件绑定,表达变量,实现简单 JS 逻辑等,即在 JS 里写 HTML。而变量、简单 JS 逻辑都是需要用 {} 包裹起来。另外 HTML 的 class 属性因为是 Javascript 的保留字,所以需要写成 className。

实际上,上述 JSX 代码,最终都会通过 JSX 编译器(现在主要都是 babel),转换为 JS 代码。例如:


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值