gpt4 book ai didi

javascript - 在带有异步调度的react-native中使用redux-thunk

转载 作者:行者123 更新时间:2023-12-03 02:10:30 24 4
gpt4 key购买 nike

我在我的react-native代码中设置了redux-thunk。

在mapDispatchToProps中我有:

const mapDispatchToProps = dispatch => {
return {
login: (state, navigator) => dispatch({
type: "USER",
payload: loginFunc(state, navigator)
}),
}'
}

登录函数是一个 firebase 函数,它返回一个 promise 链,最终返回我需要的对象。

但是,在我的 reducer 中,我的有效负载看起来像是一个 promise 或一些时髦的对象。它看起来像:

{ 
a: someVal,
b: sommeOtherVal,
c: someMoreVal,
...ValsUpToI.
i: {
// The values I actually need show up
}

这让我很困惑,因为当我尝试执行 payload.myValue 时,我的 redux 状态为 undefined 。我认为只执行 payload.i 也不安全,因为这可能是一些 promiseasync 问题,对吧?我以后很可能会成为其他人吗?

最佳答案

使用异步操作方法来执行基于 Promise 的函数 API 调用,如 redux documentation 中所述。 .

const mapDispatchToProps = dispatch => {
return {
login: (state, navigator) => {
return loginFunc(state, navigator).then(
response => dispatch({
type: "USER",
payload: response
}),
error => console.log('An error occurred.', error)
)
}
}

这样您就可以调用基于 Promise 的函数并正确利用响应或错误。

关于javascript - 在带有异步调度的react-native中使用redux-thunk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49595715/

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