2016-12-14 56 views
1

我有以下作用終極版-thunk的調度是不是一個函數

export function getAllBooks() { 
    return function(dispatch) { 
    return axios.get('http://localhost:8080/books') 
    .then(response => dispatch(retrieveBooks(response.data))); 
    }; 
} 

的問題是,當我把這個動作,我在控制檯

Uncaught (in promise) TypeError: dispatch is not a function at eval (eval at ...

獲取在該dispatch.then(response => dispatch(retrieveBooks(response.data)));正在玩

我試過除去所有其他中間件除了還原thunk無效

使用行動的唯一地方是在

const mapDispatchToProps = (dispatch) => { 
    return { fetchBooks :() => dispatch(getAllBooks) }; 
} 
+0

你檢查什麼'dispatch'實際上是什麼? – Carcigenicate

+0

記錄'dispatch'對象然後 –

回答

3

你需要調用getAllBooks行動的創建者,並通過內部功能dispatch

const mapDispatchToProps = dispatch => { 
    return { fetchBooks:() => dispatch(getAllBooks()) } //note the dispatch call 
} 
+0

謝謝,我知道我很近:( – Verric