简述reducer是纯函数吗?说明其原因
是的,reducer在Redux中是一个纯函数。这意味着给定相同的输入,它总是返回同样的输出,而且没有副作用。这是因为它的主要工作是根据当前的应用状态和要处理的动作,返回一个新的应用状态。
这是一个简单的reducer函数示例:
在这个例子中,如果我们传入当前状态(state)和一个动作(action),这个函数会返回一个新的状态。例如,如果我们的状态是3并且我们传入一个’INCREMENT’动作,那么它将返回4。这个函数不会修改传入的状态或动作,也不会执行任何其他的副作用(如网络请求,数据库操作等)。这就是为什么我们说它是一个”纯函数”。