Closed9

[Scrap] Vue で "TypeError: Right-hand side of 'instanceof' is not an object" に遭遇

へぶんへぶん

Vue.js で以下のエラーが出て調査をしている。

TypeError: Right-hand side of 'instanceof' is not an object

Vue JS で型を指定して prop をバケツリレーしていて、実際にエラー発生箇所で console.log で対象の object と typeof を出力しても object になっている。

へぶんへぶん

コードは以下のようなコード

hogeState.value =  {
  name: propFuga.name
}
へぶんへぶん

以下のような Util の定義の仕方をしていて怪しいなと思ったので修正したが、治らなかった。

export type SomeType = {}
export const SomeType = {
  serialize(){
    ....
  }
}
へぶんへぶん

props の型の付け方が間違っている気がしてきたので、全般的に調べて修正してみようと思う。

  props: {
    someObject: {
      type: Object as PropType<SomeObjectType | null>,
      required: false,
      default: () => null,
    },
  },
へぶんへぶん

該当処理を requestNextFrame 内で実行するようにしてみた => ダメだった。

そもそもそういう類の問題ではなさそう。

へぶんへぶん

SomeObjectType が継承している interface なので、平に書き直してみる => 無関係だった。

export interface SomeObjectType extends SomeParentObjectType {
...
}
//以下に変更
export type SomeObjectType = {
...
} & SomeParentObjectType
へぶんへぶん

[note]:
長時間バグ調査作業する時は Chrome DevTools を window で開くの便利。

このスクラップは2022/03/02にクローズされました