react回顾笔记

react中label标签中的for标签要替换为htmlFor;

父组件向子组件传递内容,通过属性的形式传递。
子组件接收内容通过,this.prop.属性值。 this.props.方法名。

子组件向父组件传递内容:调用父组件的方法从而修改数据。注意绑定this。

当组件中的state或者props发生改变的时候,render函数就会重新执行。

react中的虚拟dom:
1.什么是虚拟dom?
1.state数据,2.jsx模板,3.数据+模板结合,生成真实的dom,来显示。
4.state发生改变 5.数据+模板结合生成真实的dom,替换原始的dom。
缺陷:第一次生成一个完整的dom片段,第二次也生成一个完整的dom片段。第二次的dom替换第一次的dom,非常耗性能。

改良方法1:
1.state数据, 2.jsx模板, 3.数据+模板结合,生成真实的dom,来显示
4.state发生改变,5.数据+模板结合生成真实的dom,并不直接替换原始的dom,
6.新的dom和原始的dom做比对,找差异,
7.找出input框发生了变化,
8.只用新的dom中的input元素,替换掉老的dom中的input元素
该方法点评:多了几步,性能却有提升。因为替换是非常耗性能的。但是提升却不明显。

改良方法2:1.state数据, 2.jsx模板
3.数据+模板结合生成真实的dom,来显示。
4.生成虚拟dom (4应该在3之前的,这样写方便理解。)
(虚拟dom就是一个js对象,用它来描述真实的dom 【‘div’,{id:“abc”},[“span”,{id:'span"},‘hello’]】) ==>

hello

5.state发生变化,
6.数据+模板 生成新的虚拟dom,
7.比较原始虚拟dom与新的虚拟dom区别,找出区别所在。
8.直接操作dom,改变区别位置的内容。

改良方法2即虚拟dom,
好处:极大的提升了性能,减少了对dom的直接操作。比对的虚拟dom是js对象,不耗性能。
它使得跨端应用得以实现。React-native

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值