玄说前端面试层层提问—关于 redux 的面试题解答
“ 此篇文章为redux系列最后一篇文章”
上一篇关于 redux 源码解析,强烈推荐大家看一下,之前的文章如下:
上一篇文章中咱们对于 redux 源码做了分析,再此基础之上,我们来分析第一篇文章中的面试题;上篇文章中加群探讨
今日试题——redux解析
1|介绍 Redux 数据流的流程;
这道题如果看了第二篇文章中的源码,就应该知道这个流程,还是上图更为妥帖!首先用户发出 action,经过中间件,到达 Reducer,通过 Reducer 处理后返回新的 State。state 一旦发生变化,store 就会调用监听函数,触发 UI 更新
2|Redux 如何实现多个组件之间的通信,多个组件使用相同状态如何进行管理
在上一篇文章中的源码中,所有的数据全部最后都会在一个 state 数上面,实现多组件通信,就需要实现,一份数据多组件能够接收,同时组件之间发出的 action,最后需要通信的组件可以接收他的 state,明白了上一题的数据流模型和 redux 源码,这道题的问题不大
3|使用过的 Redux 中间件
上篇文章中,介绍了中间件是对 dispatch 的一种扩展,平时使用的中间件一般日志记录、异步数据请求等等都是对于在 dispatch 上做的一层扩展
4|介绍 redux,主要解决什么问题
redux 的作用主要就是管理数据。怎么管理,请参考第二篇文章
5|redux 请求中间件如何处理并发
对于中间件不熟悉的,可以详细阅读以下redux源码那篇文章!
请求中间件也是在 dispatch 上做的扩展。
对于请求这种异步的中间件,我们来具体梳理一下他的流程,当我们点击某个按钮有发起请求的需求时,发出一个请求 action,reducer 相应之后,state 更新,触发 view 更新,更新为请求中,在请求完成之后,需要接收一个更新完成的 state 来更新 view,这个 state 的所触发的 action 需要在请求完成的时候发出来。
那么这个请求怎么知道完成后要发出哪个 action 呢?这就需要在发出请求的 action 时候,就把请求结束的 action 传入。 明白了异步中间件需要处理的事情之后,对于并发而言就不用担心了,多个请求 action 同时发出,各自请求结束之后的 action 也就传入了,相互不影响。
6|Redux 中异步的请求怎么处理
异步分为请求、代码层面的 IO 或者延时,相差不大,参考上一题的解析
7|Redux 中间件是什么东西,接受几个参数
中间件是对于 dispatch 的扩展,具体请参考上一篇文章Redux 源码
8|redux 的设计思想
Redux 的主要作用是管理程序状态的,所有数据流全部是单项的,可预测的,这样的程序会变得更加可控
9| 接入 redux 的过程
redux 只是一个数据状态管理器,要接入 redux,需要处理发送 action 端,接受数据的变化的监听,对于不同的 UI 框架,都可以接入 redux,react 有 react-redux 帮助接入,有兴趣的可以下来研究研究源码;
10|Redux 有没有做过封装
这个大家有兴趣的可以看看阿里的 DvaJS 里面的处理
11|Redux 中哪些功能用到了哪些设计模式
在上一篇源码中。出现了订阅发布的设计模式。很多源码中也是纯函数,这就涉及到函数式编程了,后面咱们有机会再分析这块的东西
12|Redux 状态管理器和变量挂载到 window 中有什么区别
redux 的 state 需要改变,只能通过 reducer,要触发 reducer,就需要触发相应的 action,所以 redux 里面的数据更改入口只有 action,数据流是单项的。window 上所挂载的数据可以任意修改,无限制,这样的程序,会变得非常不可控
13|介绍下 redux 整个流程原理
参考第一问,强烈推荐看redux源码这篇文章
14|redux 状态树的管理
参考第一问,强烈推荐看redux源码这篇文章
15|Redux 数据回溯设计思路
数据回溯就是查看之前的数据,在 redux 当中,约定通过 reducer 所修改的都是生成的新数据,并不是在原有的数据上做修改,这就是可以做数据回溯的原因,每一次的 state 记录到队列中,回溯的时候根据队里回溯就好。
16|聊聊 Redux 相关的异步中间件的区别,比如:redux-saga、
redux-thunk
前面已经聊过了异步中间件的原理,而不同的框架内部的机制也有不同的地方,限于篇幅原因我们找了一个比较好的资料,大家可以查看原文阅读
感慨一番:今日看见了凉山大火,30名人员付出性命,科技的发展能否替代这些需要抱着献出生命危险的工作。这需要我们年轻一代的不断努力,不仅限于前端,更好的奉献社会;
如果你没离开,依然会,带吴钩,巡万里关山。
多希望你只是小憩,醉一下再挑灯看剑,梦一回再吹角连营。
一路走好,英雄们!!!!
END
获得更多信息
关注公众号