Redux-服务连接等副作用的时间旅行
我正在使用redux thunk并开始看到一些限制 假设我有动作Redux-服务连接等副作用的时间旅行,redux,redux-thunk,Redux,Redux Thunk,我正在使用redux thunk并开始看到一些限制 假设我有动作PUSHER\u CONNECT,PUSHER\u CONNECTED,PUSHER\u DISCONNECTED,PUSHER\u LISTEN\u TO\u CHANNEL,PUSHER\u MESSAGE\u RECEIVED,等等。状态将有一些简单的指示连接状态的东西 { connection: 'connected' } // OR { connection: 'disconnected' } 我如何才能真正地在这两个之
PUSHER\u CONNECT
,PUSHER\u CONNECTED
,PUSHER\u DISCONNECTED
,PUSHER\u LISTEN\u TO\u CHANNEL
,PUSHER\u MESSAGE\u RECEIVED
,等等。状态将有一些简单的指示连接状态的东西
{ connection: 'connected' } // OR
{ connection: 'disconnected' }
我如何才能真正地在这两个之间来回移动:PUSHER\u已连接
,PUSHER\u已断开
,因为PUSHER连接仍在某个地方。我正在考虑将pusher对象和相关对象保持在状态,如果它的pusher\u已断开连接
,请将它们设置为null
。但不能保证这些对象是不变的
另一个想法是,我会添加一个检查PUSHER\u MESSAGE\u RECEIVED
:ifstate.connection!='已连接“
然后不要推送新消息。。。模拟这是一个“真实的”断开连接。类似地,添加一个检查PUSHER\u CONNECT
,如果PUSHER对象在那里并且已连接,不要重新连接,只需将状态更改为{connection:'connecting'}
您将如何处理此问题?您可以订阅商店并管理类似“双向绑定”的内容 在侦听器中,检查状态,如果它与存储状态冲突,则执行必要的效果。注意不要进入无限循环
这是在时间旅行中同步URL栏所采用的方法 你在说什么样的时间旅行?Redux开发工具?它们只会改变应用程序所看到的当前状态,但不会影响副作用。为什么要更改副作用?是的,请重新使用DevTools。我只是想知道,是否有可能有一种方法来恢复来回的副作用,所以它是真正的“时间旅行”。如果我回到我没有连接到Pusher的状态,但连接仍然存在,那就不是真正的时间旅行。这方面有最佳实践吗?