React - 01

虚拟DOM:

1.本质是object类型的对象(一般对象)

2.虚拟DOM比较“轻”,真实DOM比较“重”

3.虚拟DOM最终会被React转化为真实DOM,呈现在页面上

jsx语法规则:

1.定义虚拟DOM时,不要写引号

2.标签中混入js表达式时要用{}

3.样式的类名指定不要用class,要用className

4.内联样式,要用 style={{key:value}} 的形式去写

5.虚拟DOM只有一个根标签

6.标签必须闭合(单标签要加结束标签或者加/)

7.标签首字母:

(1)若小写字母开头,则将该标签转为html中的同名元素,若没有,则报错

(2)若大写字母开头,React就去渲染对应的组件,若组件未定义,则报错

注意区分【js语句(代码)】与【js表达式】:

1.表达式:一个表达式会产生一个值,可以放在任何一个需要值的地方

2.语句(代码):如if语句、for语句、switch语句等

执行了ReactDOM.render(<MyComponent />......之后,发生了什么?

函数式组件(简单组件):

1.React解析组件标签,找到了MyComponent组件

2.发现组件是函数定义的,随后调用该函数,将返回的虚拟DOM转化为真实DOM,随后呈现在页面中

类式组件(复杂组件):

1.React解析组件标签,找到了MyComponent组件

2.发现组件是类定义的,随后new出来该类的实例,并通过该实例调用原型上的render方法

3.将render返回的虚拟DOM转化为真实DOM,随后呈现在页面中

一、组件实例的三大核心属性

1.state

状态state不可直接更改,需要借助一个内置的API去更改,即setState

setState更新状态是一种合并,不是覆盖整个state

1. 构造器constructor调用一次

2. render调用1+n次,1是初始化那次,n是状态更新的次数

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值