1、问题:使用react-redux时,某一个组件的reducer中,采用数组方法添加数据并返回后,页面不更新
2、原因:
preState不是基本类型,是数组,由于preState在添加之前和添加之后是同一数组,地址相同,底层进行浅比较两者地址相同,页面就不进行更新。
redux中的reducer必须是一个纯函数。
纯函数:(1)概念:一类特别的函数: 只要是同样的输入(实参),必定得到同样的输出(返回)
(2)必须遵守以下一些约束
1 不得改写参数数据
2 不会产生任何副作用,例如网络请求,输入和输出设备
3 不能调用Date.now()或者Math.random()等不纯的方法
3、解决: