У нас довольно сложная / вложенная система с большим количеством использования Vuex среди вложенных компонентов Vue.Я часто сталкиваюсь с предупреждением: [Vue warn]: You may have an infinite update loop in a component render function.
Эти бесконечные циклы не так легко найти, и мне потребовалось много времени для отладки.
Я смотрю на трассировку стека предупреждений Vue и смотрю напоследняя функция, которая была вызвана в моем коде, но это вовсе не делает для меня очевидным, почему или где существует бесконечный цикл.В этих трудных для отладки случаях я предполагаю, что какой-либо родительский компонент хочет выполнить повторную визуализацию в результате изменения моего подкомпонента, поэтому подкомпонент снова запускает ту же функцию vuex, в результате чего родительский компонент выполняет повторную визуализациюи т. д., но я никогда не могу проследить, чтобы подтвердить или увидеть, какая именно функция вызывает повторную визуализацию какой-либо части родительского компонента или самого себя.
Мне интересно, существует ли какой-либо способ визуализации или просмотра бесконечногопетля vue застревает?Я пытался исследовать __ob__
и тому подобное, но есть так много deps
и subs
, что я не понимаю, где проблема или что действительно нужно искать в deps
и subs
.У меня все еще есть проблемы с пониманием того, что конкретно представляет собой бесконечный цикл каждый раз, когда он происходит.Есть ли способ указать Vue войти в бесконечный цикл, чтобы я мог видеть трассировку стека или какой-то другой подход к отладке, который я могу использовать?