Я использую vuex store в своем приложении для хранения новостей из ленты новостей.Идея состоит в том, что если пользователь перейдет на другую страницу и вернется на страницу канала, сообщения из хранилища должны быть видны, а загрузка новых данных должна происходить в фоновом режиме.
Это работает нормально, но проблема возникает при загрузке данных в фоновом режиме.Когда это происходит, каждый отдельный почтовый компонент перезагружается и монтируется снова, что создает очень плохой пользовательский интерфейс (поскольку новостной компонент тяжелый и сложный).
Чего я хочу добиться, так это перерисовать компонент, только если данные новые или другие.Теперь каждый компонент новостей каждый раз перерисовывается, независимо от того, являются ли данные новыми или одинаковыми.
Я сохраняю данные в Vuex следующим образом:
this.insertOrUpdate({data})
И в компоненте получаю их в computed:
news () {
return News.query().all()
}
и использую их вкомпонент:
<my-news v-for="item in news"
:key="item.id"
:news="item" />
Понятия не имею, как предотвратить повторный рендеринг этих компонентов, когда данные не меняются.Это вообще возможно?