1、redux原理
1.将应用的状态统一放到state中,由store来管理state。
2.reducer的作用是返回一个新的state去更新store中对用的state。
3.按redux的原则,UI层每一次状态的改变都应通过action去触发,action传入对应的reducer 中,reducer返回一个新的state更新store中存放的state,这样就完成了一次状态的更新
4.subscribe是为store订阅监听函数,这些订阅后的监听函数是在每一次dipatch发起后依次执行
5.可以添加中间件对提交的dispatch进行重写
2、vue和react的差异
链接: https://blog.csdn.net/xgangzai/article/details/115301290
3、前端在开发的时候对后端api不满意时该怎么解决?
使用mock api
4、什么是BFF?
链接: https://www.jianshu.com/p/eb1875c62ad3
5、react有哪些全局组件通信的方法?
链接: https://blog.csdn.net/Charissa2017/article/details/105746685
6、Fiber结构有什么优点?实现了什么?
- 早期react会递归比对VirtualDOM树,找出需要变动的节点,一气呵成同步它们。
- 这个过程期间,React会占据浏览器资源,这会导致用户触发的事件得不到响应,并且会导致掉帧,导致用户感觉到卡帧。
- 为了给用户制造一种应用很快的“假象”,不能让一个任务长期霸占着资源。可以将浏览器的渲染、布局、绘制、资源加载(例如HTML解析)、事件响应、脚本执行视作操作系统的“进程”,需要通过某些调度策略合理地分配CPU资源,从而提高浏览器的用户响应速率,同时兼顾任务执行效率。
- 所以React通过Fiber架构,让这个执行过程变成可被中断。“适时”地让出CPU执行权,除了可以让浏览器及时地响应用户的交互,还有其他好处:
- 分批延时对DOM进行操作,避免一次性操作大量DOM节点,可以得到更好的用户体验;
- 给浏览器一点喘息的机会,它会对代码进行编译优化(JIT)及进行热代码优化,或者对reflow进行修正。
Fiber Tree的渲染过程:先进行深度遍历渲染,如果没有孩子节点了,则渲染右边的兄弟节点;如果没有右边的兄弟节点了,则返回上一层的父节点,渲染父节点的右兄弟节点,如果返回到root节点,则代表渲染完成。
7、怎样实现同时发送多个请求?
使用Promise.all方法可以实现同时发送多个请求。