実環境を説明すると手間がかかるので、
Todoリストを想像してみます。
Todoリスト自体にtodoを加えたり削除したりする方法はもちろんわかります。
では例えば、複数のtodoを「コピー」したいと考えます。コピー&ペースト的なものを自前で実装する場合です。
(実際にTodoリストでコピー&ペーストを実装するようなことはなさそうかもしれないですが、例として考えてください)
javascript
1const initialState = { 2 todos: [], 3 clipboard: [], 4}; 5 6export default (state = initialState, action) => { 7 switch (action.type) { 8 case 'ADD_TODO': 9 return { 10 ...state, 11 todos: [ 12 ...state.todos, 13 { 14 completed: false, 15 text: action.payload.text, 16 }, 17 ], 18 }; 19 case 'COPY': 20 const clipboard = state.todos.slice( 21 action.payload.start, 22 action.payload.end 23 ); 24 return { 25 ...state, 26 clipboard, 27 }; 28 default: 29 return state; 30 } 31};
このように、同じreducer内での違うプロパティに依存したコードを書くことになります。
こういった形で実装自体はできるのですが、あまりこういったコードはみないような気がします。
問題なければこのままやりたいと思っているのですが、この実装をすることによるデメリット、および他の実装方法があるようであれば教えてください。
初歩的な質問かもしれないのですが、よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/23 04:23