Redux的面试10题


Redux的面试10题


大家好,这一次呢,我们来说一下redux的面试题。

第1题, redux有什么好处?

Maintain ability, 由于代码风格要求比较严格,所以可维护性比较强。

Organization, 代码的组织性比较好, 这样实际上做工作的时候相对容易。

Server rendering. 服务器端创建的store会转发到客户端。

Developer tools. 方便而强大的开发者工具为调试和实时的开发提供了便利。

Ease of testing. 小函数,基本上只用来做一件事情,这使得整个测试变得非常简单。

第2题, Redux跟mvc和flux有什么区别?

先说一下mvc,mvc把整个应用分成数据层,表示层和逻辑层。当数据变化比较多的时候,系统变得会比较复杂,调试就需要更多的经验。

再说一下flux。Flux跟redux比较接近。通过event subscription来管理数据的变化。回调加载机制跟redux比较接近。

第3题 说一下功能化编程的概念。

在redux中使用了功能化编程的概念。

在参数中可以传递函数。

使用了数据流控制, 递归调用, 函数和数组等等。

帮助函数, 如reduce和map filter被大量使用。

允许函数的串联。

状态只读。

代码执行顺序的优先级没有必要考虑。

第4题,如何改变状态?

当一个action被执行的时候,我们可以去改变状态。

假设如下流程:

用户点击一个按钮

一个函数会被调用

一个action会被发出给处理容器, 这个容器需要用map dispatch to props来注册这个action。

Reducer会根据action来改变状态。

状态的改变会被处理容器注意到, map state to props。

第5题,redux在哪里使用?

Relax主要用在需要交互性的复杂场景中。可以跟很多框架结合使用, 比如angular, vue, meteor, react。

第6题, 解释一下典型的react 和 redux数据流。

首先是dispatch一个action。

然后reducer会收到这个action, 根据这个action对状态进行修改。

状态修改以后会被处理容器捕捉到。

从而对相关的界面进行更新。

第7题, 什么是redux的store?

Store存放应用程序的状态,并且有帮助函数来访问这些状态。

Store可以用来聆听变化和发送action。

Store只有一个。

你可以创建很多sub stores。

第8题, 解释一下redux里面的reducers。

数据的状态是通过reducer函数来改变的。

第9题, 解释一下redux的工作流特征。

Reset. 允许状态的重置。

Revert. 允许回退最近的一次改变。

Sweep. 那些失效的, 错误的actions,可以被删除。

Commit. 把当前状态提交,作为新的初始状态。

第10题,解释一下redux里面的actions。

Actions代表的是一个对象。有两部分,一个是action本身,另一个就是它的payload。简单说就是对哪些数据进行哪些操作。


分享到:


相關文章: