0

我在 react-native android 应用程序中使用sendbird聊天。为了提高聊天感知速度,我让用户查看以前的数据并异步加载更新(不显示加载程序)。

我正在使用 sendbird 并redux-persist保存整个Chat减速器对象。大多数 reducer 代码取自https://github.com/sendbird/SendBird-JavaScript/tree/master/react-native-redux-sample

正在成功地从持久状态中拉回数据。但它在渲染时失败。isUserMessage,等函数isFileMessage不存在。我试图找到这些函数的定义位置,但除了类型定义之外找不到任何东西。

有没有一种好方法可以从序列化的 JSON 构造整个 redux 状态?

如果您需要更多信息,请告诉我。

4

1 回答 1

1

建议在您的应用程序中使用 SendBird 的 SyncManager SDK 来管理聊天数据同步并允许在您的应用程序中进行本地缓存。

请在此处查看带有 SyncManager SDK 的 React Native Redux 示例: https ://github.com/sendbird/SendBird-JavaScript/tree/master/react-native-redux-syncmanager-sample

也就是说,这是 BaseMessage 类的官方 JavaScript API 文档,其中包括帮助确定消息类型的方法: isUserMessagehttps : //sendbird.github.io/core-sdk-javascript/module-model_baseMessage-BaseMessage.htmlisFileMessage

消息类包括它们自己的 buildFromSerializedData 方法,如果您需要,这些方法可能有助于重建状态。

于 2020-03-30T18:56:13.147 回答