针对fetchs的redux错误处理

时间:2017-07-20 14:38:43

标签: javascript redux

我正在使用redux中的f / fetch进行错误处理。人们通常会为每个请求编写reducer / actions错误处理程序,例如来自redux.js.org的视频吗?我正在考虑使用错误标志来调度相同的操作以处理错误,但我不知道这是否是正确的方法。

2 个答案:

答案 0 :(得分:0)

根据我的经验,是的。我通常会执行GET_THINGSGET_THINGS_SUCCESSGET_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'))

        })

这样可以减少减速器中的锅炉底板代码