Redux的三大定律

今天去面试的时候,面试者问了我这个问题:redux的三大定律指的是什么。
回想起来,我用过redux,但还没有做过系统的了解。这应该是一个很基础的问题,我却没有回答上来。
回家之后立刻总结了一下关于redux的资料,做进一步的了解。 

 Redux是什么?


Redux是JavaScript的状态管理容器,它可以运行在不同环境下。客户端、服务器端、原生应用都可以运行redux。需要注意的是,不管你用的是什么框架,都可以用redux来进行状态管理。要记住不是只有React才能使用Redux。
redux是让state的变化可以预测的工具。那么Redux又是怎么做到预测state的变化的呢?


 Redux三大定律


单一数据源

整个应用的state存储在一个JavaScript对象里,Redux用一个称为store的对象来存储整个state


state是只读的

不能在state上面直接修改数据,改变state的唯一方法是触发action。action只是一个信息载体,是一个普通的JavaScript对象。如此一来便可确保其他操作都无法修改state数据,整个修改都被集中处理,而且严格按照顺序执行。


使用纯函数执行修改

为了描述action怎么改变state,需要编写reducer来规定修改的规则。reducer是纯函数,接收旧的state和处理的action,返回新的state。reducer可以根据应用的大小拆分成多个,分别操作state的不同部分。

纯函数的好处就是它仅仅依赖于函数的输入。当输入确定的时候,输出就确定了。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值