Использование Sendbird с redux-persist

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

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

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

Есть ли хороший способ построить все состояние редукции обратно из сериализованного JSON?

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


person tejasbubane    schedule 30.03.2020    source источник


Ответы (1)


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

См. пример 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, которые могут помочь в восстановлении состояния, если вам это потребуется.

person jannamcl    schedule 30.03.2020