gpt4 book ai didi

Redux - 服务连接等副作用的时间旅行

转载 作者:行者123 更新时间:2023-12-02 04:43:18 26 4
gpt4 key购买 nike

我正在使用 redux-thunk 并开始看到一些限制。

假设我有 Action PUSHER_CONNECT , PUSHER_CONNECTED , PUSHER_DISCONNECTED , PUSHER_LISTEN_TO_CHANNEL , PUSHER_MESSAGE_RECEIVED等。状态将有一些简单的东西来指示连接状态。

{ connection: 'connected' } // OR
{ connection: 'disconnected' }

我怎么能 真的在这两个之间来回穿梭: PUSHER_CONNECTED , PUSHER_DISCONNECTED因为推送连接仍然存在于某个地方。我正在考虑将 pusher 对象和相关对象保持在状态,如果它是 PUSHER_DISCONNECTED , 将它们设置为 null .但不能保证这些对象是不可变的。

另一个想法是,我会为 PUSHER_MESSAGE_RECEIVED 添加一个检查。 : 如果 state.connection !== 'connected'然后不要推送新消息...模拟它是“真正的”断开连接。同样,为 PUSHER_CONNECT 添加一个检查。 , 如果 pusher 对象存在且已连接,则不要重新连接,只需将状态更改为 {connection: 'connecting'}
你会如何处理这个问题?

最佳答案

您可以订阅商店并管理类似“双向绑定(bind)”的内容。

在监听器中,检查状态,如果与存储状态相矛盾,则执行必要的效果。小心不要在那里陷入无限循环。

这是方法https://github.com/reactjs/react-router-redux用于在时间旅行上同步 URL 栏。

关于Redux - 服务连接等副作用的时间旅行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35551558/

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