js createelement_通过源码学习React.createElement

6eef181b66ccdc209515225fc2d189f3.png

概述

本文主要学习React.createElement()API的应用。在学习之前,我们需要知道React的几个基础核心概念,React Element,React Component,React Instance不熟悉的童鞋推荐阅读下文。

React Components, Elements, and Instances。

Babel与JSX

我们都知道JSX是React中的一种标签语法,它是一个语法糖,主要用来取代React.createElement()产生React Element。但是浏览器呢不支持JSX,因此我们需要一个工具Babel来进行翻译。因此Babel就是把JSX转为浏览器相兼容的格式。

1a6cb457ed76d14035efd7295d0534cb.png

我们可以去Babel官网提供的环境写几个DEMO看看它是怎么转换的。

39290d0e33c5e68dee7d26db37a8b328.png

e1da85f433046be8c89309879b5a4476.png

083adc5f59b3ace293bf7beb51243777.png

React.createElement

源码位置在createelement。

// ReactSymbols.js

demo

我们将下面代码在React中执行看看打印出来的React Element是什么样子。

function 

c29c4f45fd700813ea8e3a571e7d59d9.png

我们可以对比下真正打出的React Element。

b562d726d60d2286871689b3ff9c8c6b.png

现在对React.createElemt有一个粗浅的认识,至于如何将其转为为真正的DOM往后看。

源码目录见

https://github.com/NuoHui/react-source-code​github.com
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值