Redux-在哪里保存不可序列化的数据?

时间:2019-03-30 10:49:31

标签: asynchronous redux stream store wireless-connection

假设,我想为应用程序保留一些不可序列化的数据,用户可以在应用程序中访问这些数据并与之交互。例如,连接的设备(蓝牙,WLAN),媒体流等。我想知道在使用Redux范式时将这些数据放在哪里?

伪代码:

订阅的正常生命周期可能如下所示:

Subscription connection = instance.connect(device, request).listen();
...
connection.send(data);
...
data = connection.read();
...
connection.unsubscribe();

应用商店可能看起来像这样:

商店:

{
  username: '',
  friends:[],      <--- Pulled from the server with async middleware
  connections:[],  <--- Connections data here ???
}

但是我继续说,这样的设备订阅或媒体流不可序列化,因此将它们保留在Redux Appstate中是不合适的。

我知道,例如对于服务器请求,鼓励使用中间件。因此,对于用户的朋友,将在用户登录时编写异步操作以从服务器中提取朋友的用户名。但是处于该状态的设备ID不会起作用,因为必须与应用程序中的设备连接流进行实际交互。

那么编写单独的中间件是否可以作为保留此类数据的可接受方法?以前的惯例是什么?

0 个答案:

没有答案