はじめて、質問を投稿させていただきます。
4月から新卒としてWeb系企業に勤めています。
幸運なことに新規案件に携わることができ、とても楽しくエンジニア生活をスタートさせることができました。
今現在はReactとReduxを使って開発を行っていますが、そこでどうしても理解できないことがありましたので、それをご質問させていただきたいです。
複数のActionと複数のReducerが存在する場合、発行されたActionはどうやって自分自身が処理対象となっているReducerを特定しているのでしょうか?
先輩からは下記のように複数の互いに依存しないActionがある場合には、それ毎にReducerを作成し、Stateを変更する必要がある。ということで教わりました。
複数のReducerが存在する場合は、combineReducersでrootReducerを作成しcreateStoreに対して、渡してあげる必要があることも教わりました。
javascript
1 // Action 2 export const actionA = status => ({ 3 type: 'A_ACTION', 4 status 5 }) 6 7 export const actionB = status => ({ 8 type: 'B_ACTION', 9 status 10 }) 11 12 // Reducer 13 export const actionAReducer = (state = false, action) => { 14 switch(action.type) { 15 case 'A_ACTION': 16 return action.status 17 default: 18 return state 19 } 20 } 21 22 export const actionBReducer = (state = false, action) => { 23 switch(action.type) { 24 case 'B_ACTION': 25 return action.status 26 default: 27 return state 28 } 29 } 30
Reducerが1つであるうちは、Actionが発行された場合に適応されるReducerも1つであるため、「発行されたActionを元にReducerが変更を加える。」という説明が理解できましたが、複数のReducerが登場すると、いまいちこの説明だけでは腑に落ちません。
自分なりにもいろいろと書籍を購入しましたが、自分の知りたいところの説明は「発行されたActionを元にReducerが変更を加える。」という類似した文言でまとめられてしまっており、どうやった発行されたActionが自分自身を処理対象とするReducerを特定しているのか(もしくはそれを指定するような記述があるのか)がわかりませんでした。
稚拙な文章で申し訳ございませんが、ヒントでもよいのでご教授いただければ幸いです。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/30 10:33