最近,我一直在使用两个redux存储(一个在客户端,一个在服务器端)构建通用的Web应用程序。Redux似乎是管理状态数据的绝佳工具。是否可以将Redux用于React之外的东西?例如,在命令行应用程序中使用Redux是否可行?
我觉得这种客户端存储和服务器存储的方法违反了“唯一数据源规则”,但它感觉很好,并且到目前为止已经运作良好。我发现我可以重复使用约80%的reducer来组合两个存储。服务器上的状态通常是一个集合,而客户端上的状态可以是单个对象。
例如: 假设您有一个聊天应用的客户端状态:
创建两个状态树可以重复使用许多相同的reducers。这种方法还使我能够向服务器发送动作并从客户端响应动作。当有新连接时,也不难使用服务器存储来生成状态客户端存储。我对这种通用应用程序的方法很感兴趣。这样做是否违反规则?你可以拥有客户端存储和服务器存储吗?使用服务器存储生成初始状态也不是很困难。还有其他人以这种方式开发通用应用程序吗?
我觉得这种客户端存储和服务器存储的方法违反了“唯一数据源规则”,但它感觉很好,并且到目前为止已经运作良好。我发现我可以重复使用约80%的reducer来组合两个存储。服务器上的状态通常是一个集合,而客户端上的状态可以是单个对象。
例如: 假设您有一个聊天应用的客户端状态:
{
user: 'mike@aol.com',
room: {
name: 'sports',
users: [ ... ],
messages: [ ... ]
}
}
服务器状态与之类似,可以使用类似的reducer,但它使用集合而不是对象。
{
connectedUsers: ['mike@aol.com', ... ],
rooms: [
{
name: 'sports',
users: [ ... ],
messages: [ ... ]
},
{ ... },
{ ... }
]
}
创建两个状态树可以重复使用许多相同的reducers。这种方法还使我能够向服务器发送动作并从客户端响应动作。当有新连接时,也不难使用服务器存储来生成状态客户端存储。我对这种通用应用程序的方法很感兴趣。这样做是否违反规则?你可以拥有客户端存储和服务器存储吗?使用服务器存储生成初始状态也不是很困难。还有其他人以这种方式开发通用应用程序吗?