Redux 面试题

1、什么是Redux?

Redux 用于全局的状态管理

 

2、为什么在React项目中要使用Redux?

因为React是单向数据流的,数据只能从父组件通过props流向子组件,但如果子组件要想修改父组件的值,就只能通过给绑定函数传递参数的形式来修改,一旦项目中数据比较复杂时,这种形式会搞得一团糟,所以需要Redux的协助,帮助其更好的管理项目中复杂的数据问题

3、Redux的三大核心原则?

单一数据源:整个应用的state被存储在reducer中,并且这个reducer只存在于唯一一个store
state是只读的:唯一能改变state的就是action,action是一个用于描述已发生事件的对象,通过store中的dispatch方法来发送action,store.dispatch(action)
使用纯函数(reducer)来执行修改:reducer是一个纯函数,它接受老的state,action,并且返回一个新的state

4、为什么需要redux中间件?

默认情况下,redux只能处理同步数据流。但是实际项目开发中,状态的更新、获取、通常是使用异步操作来实现的。

 

5、常用的redux中间件有哪些?

redux-thunk:处理异步操作,主要作用就是可以使action可以变成函数形式,接收两个参数dispatch、getState
redux-promise: 处理异步操作
redux-logger:打印日志,主要作用在控制台打印输出新老state等信息

6、Redux有什么缺点?

一个组件所需要的数据,必须由父组件传过来,而不能像flux中直接从store取。 当一个组件相关数据更新时,即使父组件不需要用到这个组件,父组件还是会重新render,可能会有效率影响,或者需要写复杂的shouldComponentUpdate进行判断。

 

7、 Store存储在Redux中的意义是什么? 

store 是一个JavaScript对象,它可以保存应用程序的状态,并提供一些帮助方法来访问状态、分派操作和注册侦听器。 

应用程序的整个状态/对象树保存在单个存储中。 因此,Redux非常简单和可预测。我们可以将中间件传递给存储来处理数据,以及保存更改存储状态的各种操作的日志。所有操作都通过reduce返回一个新的状态。

posted @   小短腿奔跑吧  阅读(1177)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2017-05-03 一个项目中如果有重复代码,如何变成一个标签使其通用?
2017-05-03 PC端,移动端分离,如何结合??
点击右上角即可分享
微信分享提示