选择项目时更新项目列表
Update list of items when an item is selected
我正在构建一个 React/Redux 实时聊天应用程序,它具有侧边栏和主要区域的布局。侧边栏包含一个传入请求列表,可以选择这些请求以在主区域中显示聊天预览。当一个项目被选中时,一个套接字连接被创建并且应用程序获取聊天的预览。
但是,当单击按钮接受聊天时,将呈现一个新视图,显示有关所选项目的更多信息以及可以执行的更多操作,例如继续对话。
所选项目也从传入请求列表中删除。
我尝试将所选项目的 ID 存储在一个数组中,并根据该数组更新侧边栏。当一个项目被点击时,项目的 ID 被分派到 reducer,它过滤对话对象,returns 在主要区域呈现的选定项目。
但是,我无法在接受聊天后更新传入请求列表,以便仍然可以预览和接受仅剩下的项目,并且在有新传入请求时也可以更新列表.
如何构建我的 Redux 存储以有效地管理这种情况。
最终结果示例:jivochat.com代理区域。
谢谢。
您可以按如下方式实现此行为:
- "accept chat" 主区域中的按钮调用一个动作。
- 聊天列表缩减程序应处理此操作。
- chat list reducer 维护三个数组:
incomingChatRequests
(对象列表,通过 websocket 或 AJAX 接收)
acceptedChatRequestIDs
(单击 "accept chat" 将元素添加到此数组)
- pendingChatRequests(计算:
incomingChatRequests.filter(req => !acceptedChatRequestIDs.includes(req.ID)
)
- 组件边栏聊天列表应该呈现
pendingChatRequests
。
单击聊天项后,您应该向 reducer 发送一个操作以从 redux 数据存储中删除该项。此外,如有必要,请拨打 api 电话。
您应该使用 redux 存储状态来呈现项目,而不是组件的状态来反映此更改。
我正在构建一个 React/Redux 实时聊天应用程序,它具有侧边栏和主要区域的布局。侧边栏包含一个传入请求列表,可以选择这些请求以在主区域中显示聊天预览。当一个项目被选中时,一个套接字连接被创建并且应用程序获取聊天的预览。 但是,当单击按钮接受聊天时,将呈现一个新视图,显示有关所选项目的更多信息以及可以执行的更多操作,例如继续对话。 所选项目也从传入请求列表中删除。
我尝试将所选项目的 ID 存储在一个数组中,并根据该数组更新侧边栏。当一个项目被点击时,项目的 ID 被分派到 reducer,它过滤对话对象,returns 在主要区域呈现的选定项目。
但是,我无法在接受聊天后更新传入请求列表,以便仍然可以预览和接受仅剩下的项目,并且在有新传入请求时也可以更新列表.
如何构建我的 Redux 存储以有效地管理这种情况。
最终结果示例:jivochat.com代理区域。
谢谢。
您可以按如下方式实现此行为:
- "accept chat" 主区域中的按钮调用一个动作。
- 聊天列表缩减程序应处理此操作。
- chat list reducer 维护三个数组:
incomingChatRequests
(对象列表,通过 websocket 或 AJAX 接收)acceptedChatRequestIDs
(单击 "accept chat" 将元素添加到此数组)- pendingChatRequests(计算:
incomingChatRequests.filter(req => !acceptedChatRequestIDs.includes(req.ID)
)
- 组件边栏聊天列表应该呈现
pendingChatRequests
。
单击聊天项后,您应该向 reducer 发送一个操作以从 redux 数据存储中删除该项。此外,如有必要,请拨打 api 电话。
您应该使用 redux 存储状态来呈现项目,而不是组件的状态来反映此更改。