2017-08-23 7 views
0

私はこの減算機能を持っており、その内部でvoteScoreの値を1増やしています。これは、減速機の機能が純粋な機能でなければならないという制約を破ることなく、これを行う正しい方法ですか?これはreduxの純粋な還元剤の機能と考えられますか?

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 
    } 
    } 
} 
} 
+0

副作用がないため、純粋な機能です。しかし、解析とインクリメントのロジックは、アクションでより良いかもしれません。 –

+1

* pure *の定義を満たしていますか?同じ入力で同じ出力を生成し、副作用がないのでしょうか? –

+0

また、投票スコアに基づいてコメントを並べ替える必要があります。減速機のケースの1つをソートしても大丈夫ですか? – limitlessriver

答えて

2

はい。純関数の考え方は、入力に基づいて常に同じ出力を生成するということです。

現在のvoteScoreは、パラメータの「入力」の一部です。

関連する問題