如何在 Redux 工具包中创建全局错误切片,它将从其他切片接收错误值?
How to create global Error slice in Redux toolkit which will be receiving error value from other slices?
我正在使用 Redux Toolkit 并且我有几个切片:
user: {
profile: {}
daysOff: {}
}
offers: {
fetchedOffers: {}
publishedOffer: {}
}
general: {}
他们每个人都有自己的异步 Thunk,因此,他们每个人都有自己的错误:“值”对。
我想以某种方式创建一个全局错误切片,它将具有 errorMsg 键,我可以在其中存储来自其他切片的错误消息。
这个想法是从一个地方处理 UI 上的所有错误。我只会检查 Error global slice,如果它有一些错误信息,我会把它显示给用户。当用户点击弹出窗口或提示消息时,我将清除 errorMsg,这样它就不会再显示,直到发送另一个 thunk。
我不确定这是否是一个充分的逻辑,但我相信它没问题,但是,我不知道如何创建这个全局切片,它将能够从其他切片中获取错误。
生成的状态树如下所示:
user: {
profile: {}
daysOff: {}
}
offers: {
fetchedOffers: {}
publishedOffer: {}
}
general: {}
error: {
message: 'email or password is invalid' or 'incorrect filter parameters'...whatever the
message is
}
任何人都可以建议我如何做这样的事情吗?
尽管我在 Whosebug 上的其他一些问题中找到了解决方案,并且该解决方案是由 Dan Abramov 提出的,但我会快速回答我是如何完成任务的。
我错过了 redux 的一个重点。 Redux 状态树对 reducers/slices 中的每一个都有相同的动作。换句话说,您可以从任何 reducer 访问 action,即使 action 是从其他 reducer 派发的。就我而言,我只是检查 action.error === 是否为真,如果是,我将 msg 添加到错误字段。
我正在使用 Redux Toolkit 并且我有几个切片:
user: {
profile: {}
daysOff: {}
}
offers: {
fetchedOffers: {}
publishedOffer: {}
}
general: {}
他们每个人都有自己的异步 Thunk,因此,他们每个人都有自己的错误:“值”对。
我想以某种方式创建一个全局错误切片,它将具有 errorMsg 键,我可以在其中存储来自其他切片的错误消息。
这个想法是从一个地方处理 UI 上的所有错误。我只会检查 Error global slice,如果它有一些错误信息,我会把它显示给用户。当用户点击弹出窗口或提示消息时,我将清除 errorMsg,这样它就不会再显示,直到发送另一个 thunk。
我不确定这是否是一个充分的逻辑,但我相信它没问题,但是,我不知道如何创建这个全局切片,它将能够从其他切片中获取错误。
生成的状态树如下所示:
user: {
profile: {}
daysOff: {}
}
offers: {
fetchedOffers: {}
publishedOffer: {}
}
general: {}
error: {
message: 'email or password is invalid' or 'incorrect filter parameters'...whatever the
message is
}
任何人都可以建议我如何做这样的事情吗?
尽管我在 Whosebug 上的其他一些问题中找到了解决方案,并且该解决方案是由 Dan Abramov 提出的,但我会快速回答我是如何完成任务的。
我错过了 redux 的一个重点。 Redux 状态树对 reducers/slices 中的每一个都有相同的动作。换句话说,您可以从任何 reducer 访问 action,即使 action 是从其他 reducer 派发的。就我而言,我只是检查 action.error === 是否为真,如果是,我将 msg 添加到错误字段。