我有这个化简器函数,我在其中将 voteScore 的值增加了 1。这是在不破坏化简函数应该是纯函数的约束的情况下做到这一点的正确方法吗?
function comment (state = {}, action) {
...
switch(action.type) {
...
case UP_VOTE_COMMENT:
const upVoteScore = parseInt(state[id]['voteScore'], 10) + 1
return {
...state,
[id]: {
...state[id],
voteScore: upVoteScore
}
}
}
}
是的。纯函数的想法是,它总是根据输入产生相同的输出。
当前voteScore
是参数中"输入"的一部分。