我正在使用redux中的f / fetch进行错误处理。人们通常会为每个请求编写reducer / actions错误处理程序,例如来自redux.js.org的视频吗?我正在考虑使用错误标志来调度相同的操作以处理错误,但我不知道这是否是正确的方法。
答案 0 :(得分:0)
根据我的经验,是的。我通常会执行GET_THINGS
,GET_THINGS_SUCCESS
和GET_THINGS_ERROR
等操作,然后在reducer中有一个case语句来处理每个操作。我知道的大多数React开发者都做得很好。一般来说,我建议遵循这种模式。也就是说,它确实导致您必须以相同的方式处理大量GET
操作和ERROR
操作,因为您可能只是添加{ Loading: true }
或{{ 1}}到州......
答案 1 :(得分:0)
对于错误处理和发布/放置数据,我使用一种通用的方式为用户提出一个对话框,指示成功或失败。
e.g。有一个NoificationsAction const NotificationAction =(open = false,message ='',status =' success')=> ({type:NOTIFICATION,payload:{open,message,status}})
和一些dilaog组件,它会引发一个对话框或snackBar来显示一条消息
请求失败时发送此消息
myRequest()
.then((response) => {
if (response.status === 200) {
dispatch(projectsSuccess(response.data))
}
})
.catch((error) => {
dispatch(NotificationAction(true, `My Error Text : ${error}`, 'error'))
})
这样可以减少减速器中的锅炉底板代码