【3.28】React零碎知识汇总

3.28

  • 1.super和super(props)

在React类组件里,可以省略super,但如果用了super(),在super()和构造函数结束之前this.props()依然是undefined,因为在React会在类组件构造函数生成实例后再给this.props赋值,用super(props)就不会有这个问题

  • 2.setstate?

– 在setTimeout,原生事件里是同步更新(React 18前),生命周期或者React合成事件里是异步
– 批量更新,有覆盖的机制
– 如果想立刻获取更新后的值,在setstate的第二个回调里面更新后会执行

  • 3.React事件机制

React事件处理函数书写方式/事件绑定方式 和原生事件有差异
React的事件其实就是挂载在document上的,不直接绑在DOM上,减少内存开销
真实dom原生事件冒泡到document => React冒泡 => 真正挂载到document上的原生事件
阻止合成事件间的冒泡,用e.stoppropagation()
阻止合成事件与最外层 document 上的事件间的冒泡,用e.nativeEvent.stopImmediatePropagation()

  • 4.React事件绑定?

bind或者箭头函数(类组件)

  • 5.React组件间通信?

父子=>props 子父=>父给子传一个函数/ref
兄弟=>可以用共同的父组件实现共通
全局状态管理=>Redux
还有一种类似Redux的模式=>Context(Provider/Consumer)

  • 6.Redux中间件?

Redux-thunk/Redux-logger
都需要用applyMiddleWares注册

  • 7.Render?

render函数里面可以编写JSX,转化成createElement这种形式,用于生成虚拟DOM,最终转化成真实DOM

在React 中,类组件只要执行了 setState 方法,就一定会触发 render 函数执行,函数组件使用useState更改状态不一定导致重新render


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值