Логическая ошибка с обновлением данных

Приостановлена

Проект: MODX-Клуб

Планируемый запуск: 29.11.2018Дата начала: Планируемое завершение: Дата завершения:

Описание задачи

Если находишься на странице (и данные по ней подгрузились), после заходишь на другую страницу, по подписке прилетел объект и на этой странице данные обновились, возвращаясь на предыдущую страницу, часто возникает так, что данных обновленных на ней нет.
Как костыль сейчас можно добавить принудительную подгружку на componentDidMount() в компонент страницы.

UPD: Сейчас этого нельзя сделать на уровне страницы, так как нет точек входа на механизм подгрузки данных, то есть не ясно требуется сейчас подгрузка или нет. Получается сделать только на уровне конечного компонента вот таким кодом:
async componentDidMount() { const { data, } = this.props; if (data && !data.loading) { await data.refetch && data.refetch(); } super.componentDidMount && super.componentDidMount(); }
Здесь после монтирования компонента идет проверка на то, происходит ли сейчас подгрузка данных или нет. Если это первое монтирование компонента, то будет выполняться подгрузка сама собой. Если повторное и данные уже есть, то подгрузки не будет выполняться, поэтому проверяем на наличие метода переподгрузки и выполняем его.
Плюс метода такого в том, что работает на уровне каждого в отдельности метода и не вызывает подгрузки того, чего не требуется. Минус в том, что придется прописывать на уровне каждого компонента в отдельности. Надо будет запилить в ядро @prisma-cms/component

ПроектЗадачаСтатусДата постановкиНачалоКонецКто создал
MODX-КлубЛогическая ошибка с обновлением данныхПриостановлена28.11.2018 04:50:4230.11.2018 18:51:4630.11.2018 18:52:15
MODX-КлубЛогическая ошибка с обновлением данныхПриостановлена28.11.2018 04:50:4228.11.2018 05:47:5128.11.2018 06:49:38

Добавить комментарий