Использование Sendbird с redux-persist - PullRequest
0 голосов
/ 30 марта 2020

Я использую sendbird чат в реактивном android приложении. В попытке улучшить воспринимаемую скорость чата, я позволяю пользователям просматривать предыдущие данные и загружать обновления asyn c (без отображения загрузчика).

Я использую sendbird с redux-persist и сохраняю весь объект-редуктор Chat. Большая часть кода редуктора взята из https://github.com/sendbird/SendBird-JavaScript/tree/master/react-native-redux-sample.

Данные успешно возвращаются из постоянного состояния. Но это не помогает при рендеринге. Такие функции, как isUserMessage, isFileMessage, et c не существуют. Я попытался найти, где эти функции определены, но не смог найти ничего, кроме определения типа .

. Есть ли хороший способ построить полное состояние избыточности обратно из сериализованного JSON?

Дайте мне знать, если вам нужна дополнительная информация.

1 Ответ

0 голосов
/ 30 марта 2020

Рекомендуется использовать SyncManager SDK SendBird с вашим приложением для управления синхронизацией данных чата и локального кэширования в вашем приложении.

См. Пример React Native Redux с SyncManager SDK здесь: https://github.com/sendbird/SendBird-JavaScript/tree/master/react-native-redux-syncmanager-sample

Тем не менее, вот официальная документация JavaScript API для класса BaseMessage, которая включает методы isUserMessage и isFileMessage, помогающие определить тип сообщения: https://sendbird.github.io/core-sdk-javascript/module-model_baseMessage-BaseMessage.html

Классы сообщений включают свои собственные методы buildFromSerializedData, которые могут помочь в восстановлении состояния в случае необходимости.

...