竹笋

首页 » 问答 » 灌水 » 我答,面试题redux的作用
TUhjnbcbe - 2023/1/12 0:01:00
北京皮肤科治疗医院 http://news.39.net/bjzkhbzy/180906/6508755.html

国内用react的大厂和公司越来越多了,react项目基本都要用到redux做数据流管理,最近发现很多面试题都会提到:redux是干嘛的,下面来说说我的看法和答案

介绍redux:

官方解释:Redux是JavaScript状态容器,提供可预测化的状态管理。我的理解是,redux是为了解决react组件间通信和组件间状态共享而提出的一种解决方案,主要包括3个部分,(store+action+reducer)。

store:用来存储当前react状态机(state)的对象。connect后,store的改变就会驱动react的生命周期循环,从而驱动页面状态的改变

action:用于接受state的改变命令,是改变state的唯一途径和入口。一般使用时在当前组件里面调用相关的action方法,通常把和后端的通信(ajax)函数放在这里

reducer:action的处理器,用于修改store中state的值,返回一个新的state值

主要解决什么问题:

1、组件间通信

由于connect后,各connect组件是共享store的,所以各组件可以通过store来进行数据通信,当然这里必须遵守redux的一些规范,比如遵守view-aciton-reducer的改变state的路径

2、通过对象驱动组件进入生命周期

对于一个react组件来说,只能对自己的state改变驱动自己的生命周期,或者通过外部传入的props进行驱动。通过redux,可以通过store中改变的state,来驱动组件进行update

3、方便进行数据管理和切片

redux通过对store的管理和控制,可以很方便的实现页面状态的管理和切片。通过切片的操作,可以轻松的实现redo之类的操作

如上仅是个人观点,欢迎讨论,一起聊聊前端

1
查看完整版本: 我答,面试题redux的作用