假设,我想为应用程序保留一些不可序列化的数据,用户可以在应用程序中访问这些数据并与之交互。例如,连接的设备(蓝牙,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不会起作用,因为必须与应用程序中的设备连接流进行实际交互。
那么编写单独的中间件是否可以作为保留此类数据的可接受方法?以前的惯例是什么?