首页 > 解决方案 > 如何修复“未捕获的 TypeError:调度不是函数”?

问题描述

我在尝试在窗口上执行调度操作时遇到此错误:“未捕获的 TypeError:调度不是函数”。

我仔细检查了语法。

Uncaught TypeError: dispatch is not a function
    at Object.eval (spot_actions.js?27ea:12)
    at Object.<anonymous> (jquery.self-bd7ddd393353a8d2480a622e80342adf488fb6006d667e8b42e4c0073393abee.js?body=1:3412)
    at fire (jquery.self-bd7ddd393353a8d2480a622e80342adf488fb6006d667e8b42e4c0073393abee.js?body=1:3233)
    at Object.fireWith [as resolveWith] (jquery.self-bd7ddd393353a8d2480a622e80342adf488fb6006d667e8b42e4c0073393abee.js?body=1:3363)
    at done (jquery.self-bd7ddd393353a8d2480a622e80342adf488fb6006d667e8b42e4c0073393abee.js?body=1:9841)
    at XMLHttpRequest.callback (jquery.self-bd7ddd393353a8d2480a622e80342adf488fb6006d667e8b42e4c0073393abee.js?body=1:10312)
export const fetchAllSpots = () => dispatch => (
    APIUtil.fetchAllSpots().then(spots => 
    dispatch(receiveAllSpots(spots)))
);

const receiveAllSpots = payload => ({
    type: RECEIVE_ALL_SPOTS,
    payload
});
window.fetchAllSpots = fetchAllSpots();

标签: ruby-on-railsreactjsredux

解决方案


你添加dispatch到路由器连接?就像是 :

export default connect(mapStateToProps, dispatch => ({
  dispatch, ComponentNameHere})) (ComponentNameHere)

推荐阅读