鍍金池/ 問答/HTML/ redux-thunk的作用為什么不用異步的dispatch(action)來代

redux-thunk的作用為什么不用異步的dispatch(action)來代替?

// redux-thunk
const fetchData = (params) => (dispatch) => {
  setTimeout(() => {
    dispatch({action: 'GET_DATA', payload: 111})
  })
} 
// 異步dispatch
const fetchData = (params) => ({action: 'GET_DATA', payload: 111});

setTimeout(() => {
  dispatch(fetchData(...))
})

不明白這兩種方式有什么區(qū)別。
求大佬舉實例說明下。 萬分感謝

回答
編輯回答
菊外人

redux-thunk的主要作用應(yīng)該不是異步同步的問題,在你使用redux-thunk之前,只能dispatch一個action對象:

dispatch({type:'DO_SOMETHING'})

而使用他之后,你可以dispatch一個函數(shù)

dispatch(function (dispatch) {
    $.get('/api/somepath', function(users) {
        dispatch({
            type: 'FETCH_USERS_SUCCESS',
            users: users,
        });
    });
});
你可以在函數(shù)里面做你想做的邏輯處理等工作
2018年7月7日 09:51