84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
react中可以在鉤子就能處理ajax非同步請求,為什麼還要在redux裡面用中間件去處理呢? 2者有什麼不同?
人生最曼妙的风景,竟是内心的淡定与从容!
對於小型的WebApp,狀態比較少,你可以只用ReactJS來實現,在事件回呼裡發起AJAX請求,請求成功後更新ReactJS 元件的state,從而更新視圖。
但是在較大規模的WebApp中,模組多,狀態多,這時就需要引入Redux來管理整個WebApp的狀態,ReactJS只用作View層以及根據用戶觸發的事件來dispatch相應的Action,不會有業務相關的邏輯。
這時Ajax請求就會放到Action裡處理,但是Redux預設只能分發Plain Object作為Action,加上redux-thunk中間件後,就可以分發函數作為一個Action,函數裡就可以做你想幹的事情,當然也可以發起Ajax請求來支援非同步事件了。
對於小型的WebApp,狀態比較少,你可以只用ReactJS來實現,在事件回呼裡發起AJAX請求,請求成功後更新ReactJS 元件的state,從而更新視圖。
但是在較大規模的WebApp中,模組多,狀態多,這時就需要引入Redux來管理整個WebApp的狀態,ReactJS只用作View層以及根據用戶觸發的事件來dispatch相應的Action,不會有業務相關的邏輯。
這時Ajax請求就會放到Action裡處理,但是Redux預設只能分發Plain Object作為Action,加上redux-thunk中間件後,就可以分發函數作為一個Action,函數裡就可以做你想幹的事情,當然也可以發起Ajax請求來支援非同步事件了。