gpt4 book ai didi

reactjs - 在 redux 中调度后如何返回操作结果?

转载 作者:行者123 更新时间:2023-12-03 13:44:25 27 4
gpt4 key购买 nike

我想使用已调度的操作结果并调度新操作。有一个我想使用的代码示例

function mapDispatchToProps(dispatch) {
return bindActionCreators({
addApplication(data, vacancy_id) {
dispatch(candidateActions.addCandidate(data))
.then((newCandidate) => {
dispatch(applicationActions.addApplication(data.video, vacancy_id, newCandidate._id))
});
}
}, dispatch);
}

如何在 redux 中执行此操作以及可以使用哪些库?

最佳答案

您应该使用thunk-middleware,它将负责根据先前操作的结果分派(dispatch)操作。通过使用 thunk 中间件, Action 创建者可以返回一个能够调度自己的 Action 的函数。

假设我有 3 个操作:

1. loginRequest - send credentials for login
2. loginSuccess - dispatch action if credentials are valid
3. loginFailure - dispatch action if login failed

我可以设置一个执行以下操作的函数

    export function login(credentials){
return function(dispatch){
dispatch(loginRequest(credentials){
return fetch(`http://localhost:8000/login`)
.then(response => response.json())
.then(json =>
dispatch(loginSuccess(creds))
.catch(err =>
dispatch(loginFailure(err))
})
}
}

然后,您可以通过将登录函数包含在 mapDispatchToProps

中来从组件分派(dispatch)登录函数

您可能应该查看 - http://redux.js.org/docs/advanced/AsyncActions.html为了更好地理解

关于reactjs - 在 redux 中调度后如何返回操作结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37472494/

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