天天看点

react(55)——reducer函数必须为一个纯函数,否则react不会重新渲染1.什么是纯函数2.不是纯函数的例子3.redux中的reducer函数必须是一个纯函数,否则UI组件不会更新状态

1.什么是纯函数

  1. 一个纯函数函数,输入同样的参数会得到同样的返回值。
  2. 不会产生任何的副作用,如网络请求,输入和输出设备。
  3. 不能调用Date.now()方法或者Math.random()等不纯的方法。
  4. 不能改变参数的值

2.不是纯函数的例子

//这样就不是一个纯函数,输入相同的值会返回不同的值
func(a){
    return Math.random();
}

//这样就也不是一个纯函数,
func(a){
	a = 18;
    return a;
}
………………
           

3.redux中的reducer函数必须是一个纯函数,否则UI组件不会更新状态

继续阅读