react细节笔记(不定期更新)

1.hook出现的本质原因是为了让函数组件也能做一些类组件的事情,解决逻辑复用难的问题

2.最简单易懂的理解是hook就是一些use的API

3.useState为什么不能是对象,从易用性上来说,解构赋值排序的问题,只要顺序对了,名字可以随便取,对象不行

4.useEffect和useLayoutEffect的区别就是 layout是用来修改DOM,属于同步绘制会阻塞页面,比effect更早触发

5.useEffect主要是根据依赖更新所触发的副作用.不会阻塞浏览器绘制,是异步执行的

6.useInsertionEffect会在dom更新前执行,也属于同步,可以避免多次更新渲染的问题

7.redux 三大原则 单项数据流, state 只读, 纯函数执行.唯一修改state的方法只有 dispatch

8.redux 实际上也是单例模式的一种,核心是订阅模式的方式来实现,以store为数据中心,使用dispatch修改数据,使用subscribe 订阅数据. 修改数据的时候就会通知对应的订阅

9.compose 就是类似于函数柯里化的一种递归处理.把所有函数层层计算

10.批量更新API unstable_batchedUpdates(fn),可以把多个setState在同一个片段更新

11.如果你想要让某个setState更新优先级更高 ReactDOM.flushSync(fn) 就用这个方法

12.React.creatClass和 extend Component的区别是,首先语法上面会有区别,然后是creatClass会自动绑定this.component需要用Bind进行处理,目前官方主要还是推荐es6的写法,creatClass已经在15以上被废弃了

13.受控组件主要的意义是 react到底能不能知道当前的组件的状态被修改

14.Fragment是用来解决当前组件想用多个根节点的问题的.类似于template.是一种兜底的操作

15.高阶组件HOC的含义是.入参是组件,出参也是组件.可以用来实现例如 公共模块抽象,提升复用性,权限控制,捕获异常等.

16.属性代理和反向继承的区别是 属性代理是通过props去影响组件的,而反向代理是直接把继承的组件copy了一份来进行直接修改

17.useMemo和useCallback的区别是一个是直接返回的运行结果,一个是返回的函数.useMEmo是只有当依赖发生变化的时候才会执行.是用函数闭包来做缓存

18.如果不用useState去赋值的话.也可以用useRef

19.react.lazy的方式去引入组件会进行一个懒加载.配套引入Suspense组件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值