Я столкнулся с проблемой логики c интеграции и надеюсь, что вы сможете пролить свет на то, как ее решить.
У нас есть приложение с несколькими экранами, и мы пытаемся интегрировать программируемый чат twilio в наше приложение.
Наша проблема с logi c лежит здесь -> Для запуска нашего чата у нас есть функциональный компонент состояния чата. js с функцией в его конструкторе, которая выполняет токен из нашего API и создает клиента из этого токена и устанавливая this.client
в конструкторе для этого клиента.
export default new (class {
constructor() {
this._getClient().then(async client => {
this.client = client;
});
}
async _getToken() {
...fetch token from API!
}
async _getClient(){
..._getToken()
...get client with token and return
}
}
Затем с экрана чата мы загружаем клиента из import State from 'chat-state.js
и используем State.client
а затем мы используем клиент для получения наших каналов и т. д. c ..
Проблема в том, что когда пользователь переходит на экран чата до того, как клиент init готов, State.client
возвращает ноль, поскольку он не установить еще.
Вопрос есть; Каков наилучший способ убедиться, что экран чата перерисовывается при установке State.client
?
В настоящее время мы не используем решения для редукции или управления состоянием, и я стараюсь не слишком усложнять это балл.
Ура!