Redux常见状态/ Reducer中的错误处理

时间:2017-12-28 07:20:02

标签: redux react-redux redux-saga

我正在开发一个WebSocket应用程序,它使用React / Redux堆栈和Sage作为副作用处理程序。 Saga也会调度传入的WebSocket消息和特定切片减少器上的事件 1.处理消息并更新状态 2.立即回复Websocket消息 - 基于当前状态 3.提出错误 - 消息无效

我想在reducers中包含业务逻辑,因此希望reducers引发WebSocket发送事件或设置错误状态,而不是将这两个分解为Saga处理程序。我正在研究的策略是让全局状态为state.outgoingMessages和state.errors,其中任何切片缩减器都可以设置这些状态。如果设置了outgoingMessage,则sage中间件将在恢复时写回WebSocket,如果设置了错误状态,则Error Component将呈现此信息。

我认为我没有违反任何减速器/传奇规则,但是我有一个将共同状态传递给减速器的困境。围绕这个主题进行了相当多的讨论 https://redux.js.org/docs/recipes/reducers/BeyondCombineReducers.html#sharing-data-between-slice-reducers

提供传递额外状态的方法。我可以使用更高阶的reducer并将其他状态传递给outgoingMessages和error to slice redurs,这是一个anit-pattern,还是有更好的方法来完全处理这个问题?

0 个答案:

没有答案