新手学习 react 迷惑的点(一)

本文探讨了React中的一些常见迷惑点,包括为何需要import React,JSX与React.createElement的关系,为何使用camelCase属性,constructor中调用super的原因,以及组件名需大写开头的规则。同时,解释了在构造函数中不传递props的潜在问题,并建议始终使用super(props)以确保this.props的可用性。
摘要由CSDN通过智能技术生成

在写 React 的时候,你可能会写类似这样的代码:

import React from ‘react’
function A() {
// …other code
return

前端桃园


}
复制代码
你肯定疑惑过,上面的代码都没有用到 React,为什么要引入 React 呢?

如果你把 import React from ‘react’ 删掉,还会报下面这样的错误:

新手学习 react 迷惑的点(一)

那么究竟是哪里用到了这个 React,导致我们引入 React 会报错呢,不懂这个原因,那么就是 JSX 没有搞得太明白。

你可以讲上面的代码(忽略导入语句)放到在线 babel 里进行转化一下,发现 babel 会把上面的代码转化成:

function A() {
// …other code
return React.createElement(“h1”, null, “前端桃园”);
}
复制代码
因为从本质上讲,JSX 只是为 React.createElement(component, props, …children) 函数提供的语法糖。

为什么要用 className 而不用 class

React 一开始的理念是想与浏览器的 DOM API 保持一直而不是 HTML,因为 JSX 是 JS 的扩展,而不是用来代替 HTML 的,这样会和元素的创建更为接近。在元素上设置 class 需要使用 className 这个 API:

const element = document.createElement(“div”)
element.classNa

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值