Vue-devtools: 5.3.2: Property or method "then" is not defined on the instance but referenced during render

Created on 31 Oct 2019  路  13Comments  路  Source: vuejs/vue-devtools

Version

5.3.2

Browser and OS info

Mac OS 10.13.6 / Version 0.69.135 Chromium: 77.0.3865.120 (Build officiel) (64 bits)

Steps to reproduce

Just load any vue app in dev mode.

What is expected?

The console should be empty.

What is actually happening?

The console is full of this kind of errors Property or method "then" is not defined on the instance but referenced during render for every component.


This wasn't occurring with 5.3.1.

image

need repro

Most helpful comment

I also get this error, but only when i enable "New Vuex backend" in settings.
When i disable this setting, the error does not appear.

All 13 comments

I also get this error, but only when i enable "New Vuex backend" in settings.
When i disable this setting, the error does not appear.

Please provide a runnable minimal reproduction.

Just wanted to say I've been debugging my app for 2 hours so thank you @nicooprat for this issue! 馃槥 馃檶

Glad it's not just me. I was going crazy this morning with it. I'm going to have to restore old dev tools between this and consuming all of my CPU the latest version seems a bit buggy.

Just came across this as well today. Turning off Vuex backend removed all those warnings.

I noticed it this morning after I updated to Chrome 78.

Toggling off "New Vuex Backend" in the Vue Dev Tools settings has prevented these warnings as others have suggested.

AAAAAAAAgggggh I just spent 30 minutes debugging my app and turning off things! I was about to open this issue too. Definitely a bug

metoo

FYI, exception in console refers to this line in backend.js:
https://github.com/vuejs/vue-devtools/blob/30f15164aabf216b4fcd4b147c2377e598380912/packages/app-backend/src/clone.js#L379
Vue.js devtools 5.3.2

I can reproduce the error, if "new vuex backend" and recording on the vuex tab are enabled.
disabling any of them stops the error from happening

I am also experiencing this exact same issue. Turning off "new vuex backend" fixes it for me as well.

I think this might be related to using import to load components.
I'll try to add a minimal example.

I nailed it :)

Code here: https://codesandbox.io/s/vue-routing-example-zj1so
With reproduction link here: https://zj1so.csb.app/hello

Please open chrome dev tools, switch to Vue tab and check "New vuex backend" is enabled, then switch to console tab and do a refresh.

Hello!

My case for reproducing

You need app that uses following packages:

  1. Vue Router
  2. Vuex
  3. vuex-router-sync

App should have minimum two routes =)

Steps:

  1. Open your app in browser
  2. Open Vue developer tools
  3. Navigate to other app page (route)
  4. vuex-router-sync runs mutation route/ROUTE_CHANGED with payload {from, to} where will have references to components and their instances
  5. Vue developer runs cloning of mutation payload and instances of Vue components
  6. When devtools try to clone payload.to.matched.0.instances.default._renderProxy Proxy checks the availability of method then and shows warning

Spend an Hour to fix this. Thank again for posting this on the forum!!!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

bajzarpa picture bajzarpa  路  3Comments

topul picture topul  路  4Comments

ispal picture ispal  路  4Comments

pxwee5 picture pxwee5  路  3Comments

mitramejia picture mitramejia  路  3Comments