一般的な設計がよくわかっていないのですが、下記のReducerで、ステートを更新して返却しようとしています。サーバから返却されたログイン情報をステートに設定して処理を継続しようとしています。
但し、サーバとは非同期処理を行っているので、Reducerがステートを返却しないというエラーとなります。やはり、設計的にサーバ処理は別の場所で行う方が良いのでしょうか?
Javascript
1export function sampleReducer(state = initData, action){ 2 console.log(action.type) 3 switch (action.type) { 4 case 'LOGIN': 5 return login(state, action); 6 default: 7 return state; 8 } 9} 10 11function login(state, action){ 12 let email = action.params.email; 13 let passwd = action.params.passwd; 14 axios.get('/api/member/login/' + email + '/' + passwd) 15 .then(function (response) { 16 // handle success 17 console.log(response.data); 18 let data = response.data; 19 return { 20 members: data.data, 21 authenticated: true 22 }; 23 state.dispatch({type:}); 24 }) 25 .catch(function (error) { 26 // handle error 27 console.log(error); 28 return { 29 authenticated: false 30 }; 31 }) 32 .finally(function () { 33 // always executed 34 }); 35}
アドバイスの程、よろしくおねがいします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。