react 长期以来一直是首选的 javascript 库,并且很容易成为世界上最受欢迎的库之一。此外,随着 next.js 和 remix 等流行框架构建在 react 之上,并且能够使用 react-native 进行移动开发,该库不会很快消失。然而,这样做的问题是,大多数初学者都涌向 react,并在没有真正理解它是如何工作的情况下开始学习它。那么让我们开始吧。
jsx 的工作原理
在 react 中,jsx (javascript xml) 是一种看起来与 html 类似但在 javascript 中工作的语法。它本身不是有效的 javascript,因此 react 使用转译器(通常是 babel)将 jsx 转换为标准 javascript。该 javascript 代码是浏览器最终解释的内容。
当您编写 jsx 时,它会转换为 react.createelement() 函数调用。这些函数调用产生 react 元素,它们是 react 应用程序的构建块。每个元素代表 ui 的一部分。
这是一个示例:
react 组件中的 jsx
const element = ( <p> <h1>hello, react!</h1> <p>this is a paragraph.</p> </p> );
登录后复制
jsx 转换为 javascript:
const element = React.createElement( 'p', null, React.createElement('h1', null, 'Hello, React!'), React.createElement('p', null, 'This is a paragraph.') );
登录后复制
react 接受这些嵌套的 react.createelement() 调用,并将它们转换为浏览器 dom 中相应的 html 元素。
结论
jsx 允许您编写类似于 html 的语法,从而使编写 react 组件变得更加容易,但它只是使用 javascript 创建应用程序结构的 react.createelement() 调用的语法糖。这就是 react 通过 virtual dom 机制有效管理 ui 的原因。
如果您喜欢这篇文章,您可能还会喜欢我每周向像您一样的开发人员发送的免费时事通讯。您可以在这里注册。
以上就是幕后反应:到底发生了什么?的详细内容,更多请关注抖狐科技其它相关文章!
-
Token是什么?和Coin有什么区别?如何购买和卖出Token?
token是由区块链技术支持的数字资产,授予持有人对特定商品、服务或资产的权利或访问权限。与加密货币(如比特币)不同,token通常没有固定的价值,而是与发行它们的资产或协议挂钩。token通常代表对...
-
作业帮怎么取消续费功能
如何取消作业帮续费功能?ios:进入“设置”>“apple id”>“订阅”>“作业帮”并取消。android:打开 google play 商店>“菜单”>“订阅”>“作业帮”并取消。作业帮官网:登...
-
支付宝极速vip自动续费怎么关
支付宝极速 vip 服务可通过以下步骤关闭自动续费:1. 打开支付宝 app;2. 进入个人中心;3. 选择“免密支付/自动续费”;4. 找到“支付宝极速 vip 服务”;5. 点击“关闭自动续费”;...
-
腾讯视频怎么免费领vip
腾讯视频 vip 可免费获取的方法有:注册新账号享 7 天免费体验参与积分兑换、手机充值合作、信用卡积分兑换等活动通过互助组队邀请好友助力如何免费获取腾讯视频 VIP 方法 1:腾讯视频官方活动新用户...
-
锁仓当天可以解锁吗?锁仓会爆仓吗?
在当虚拟货币市场的蓬勃发展中,虚拟货币合约交易作为一种高风险高回报的交易方式备受关注,而为了减小 投资风险,锁仓策略被广泛运用,锁仓是一种通过存放加密货币以支持区块链网络并获得奖励的机制。但在进行锁仓...