【发布时间】:2019-11-22 06:12:53
【问题描述】:
我总是在 redux reducer 中这样初始化日期:
const initialState = {
dateFilter: new Date()
}
const reducer = (state = initialState, action) => {
// reducer code
}
export default reducer;
我不确定我的做法是否正确,因为据我所知,reducer 必须是纯函数,而 new Date 不是纯函数。也许这更像是一个js问题,因为我不明白reducer函数是否在这里是纯的。
【问题讨论】:
-
为什么觉得这个函数不纯?因为现在这个sn-p这个函数是空的,你怎么知道这个是不是纯的?
-
我假设其他一切都是纯粹的,我没有在减速器代码中做任何
new Date。问题是关于initialState。但是好的,我认为参数不会使函数不纯 -
您的 initialState 仅被创建一次,如果未提供参数,则将其用作参数的后备。只要您不更改减速器的全局状态并始终返回新状态而不是更改先前的状态,您的函数就是纯函数。
标签: javascript reactjs redux