gpt4 book ai didi

javascript - 使用 promise 的 redux 最佳实践

转载 作者:行者123 更新时间:2023-11-29 23:49:00 26 4
gpt4 key购买 nike

export function postRegister(credentials) {
console.log(credentials);

return dispatch => {
return fetch('/user/register', {
method: 'post',

body: JSON.stringify(credentials),

headers: {
'Content-Type': 'application/json'
}
})
.then(response => response.json())
}
}

我对上面的代码几乎没有怀疑。

  1. 我可以使用 export () => {} 而不是在这里写函数这个词吗?只是为了保持清洁。

  2. dispatch 是一个全局变量?我没有看到它在文件中的某处被导入或需要。

  3. 这里需要指定标题吗?我在每个 API 调用中都看到了这一点。

  4. 为什么这个 promise 调用没有问题?整体代码不好?

最佳答案

  1. 不,真的可以,但您需要一个名称才能在您的组件中实际使用它。
  2. 不是,dispatch是箭头函数的一个参数,你也可以定义getState来访问当前的redux状态。顺便说一下,如果需要,您完全可以指定新名称。
  3. 这取决于您的服务器,但通常如果您使用的是 JSON API,您会希望发送该 header 。
  4. 是的,总的来说代码看起来不太好,我建议使用中间件来处理获取请求,您的操作应该只发送配置,例如 urlbodymethod 等...您的中间件应该处理添加通用 header (例如内容类型)。

你可以这样操作:

export function postRegister(credentials) {
return {
types: [REGISTER, REGISTER_SUCCESS, REGISTER_FAIL],
promise: {
url: '/user/register',
data: credentials,
},
};
}

就这么简单,然后您的中间件应该根据服务器响应获取和分派(dispatch)操作类型。

如果您想了解更多有关中间件应如何处理获取请求和分派(dispatch)操作的信息,请务必查看我的帖子:https://stackoverflow.com/a/39971763/146718

关于javascript - 使用 promise 的 redux 最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43260152/

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