Redux Thunk Action Creator未被调用

时间:2016-08-05 04:50:28

标签: reactjs redux redux-thunk

我在actions/index内有一个函数调用一个动作创建者来调度一个动作,但它永远不会被调用。我想我在Redux中缺少一些东西。数据库是Firebase实例。

export function handleInitialVisit() {
  ...
  DB.child('profiles')
    .child(id)
    .set(data)
    .then(res => handleVisit());
}

function handleVisit() {
  console.log('called') // called
  return (dispatch, getState) => {
    console.log('called'); // never called
    ...
    dispatch({type: SET_DB_REF, payload: visitReferencePath});
  }
}

我唯一的猜测是因为我没有用连接或商店调用它,它没有dispatch和getState的属性。问题是,我不需要从组件中调用它。我希望在呈现组件之前发生这种情况。它试图在交互发生和呈现组件之前弄清楚用户。

1 个答案:

答案 0 :(得分:1)

您应该使用dispatch函数来发送操作:

export function handleInitialVisit() {
  ...
  DB.child('profiles')
    .child(id)
    .set(data)
    .then(res => dispatch(handleVisit()));
}