gpt4 book ai didi

javascript - 为什么 .then() 在 redux Promise 中未定义?

转载 作者:行者123 更新时间:2023-12-01 01:34:48 25 4
gpt4 key购买 nike

我试图在 redux 状态更新后触发一个事件,所以我运行了一个 promise 。然后像这样

logoutHandler = (event) => {
console.log("logout Handler")
event.preventDefault()
window.FB.logout()
this.props.LoggedIn(false).then(() => {
this.props.history.replace('/signup');
})
}

注意这一点..

  this.props.LoggedIn(false).then(() => {
this.props.history.replace('/signup');
})

其中 .LoggedIn(false) 是一个 redux 操作。

这会引发错误

Cannot read property 'then' of undefined

这是我的 redux 操作

export const LoggedIn  = (isLoggedIn) => {
return function (dispatch) {
dispatch({
type: USER_LOGGED_IN ,
payload: isLoggedIn
})
}
}

问题:有人可以告诉我我在这里做错了什么吗?

最佳答案

根据 redux-thunk 文档,您应该从内部函数返回 Promise 以便在操作中使用 .then

Any return value from the inner function will be available as the return value of dispatch itself. This is convenient for orchestrating an asynchronous control flow with thunk action creators dispatching each other and returning Promises to wait for each other’s completion:

查看文档here .

可能的代码已由 Shubham Khatri 分享

关于javascript - 为什么 .then() 在 redux Promise 中未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52924529/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com