我在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的属性。问题是,我不需要从组件中调用它。我希望在呈现组件之前发生这种情况。它试图在交互发生和呈现组件之前弄清楚用户。
答案 0 :(得分:1)
您应该使用dispatch
函数来发送操作:
export function handleInitialVisit() {
...
DB.child('profiles')
.child(id)
.set(data)
.then(res => dispatch(handleVisit()));
}