LoginSignup
15
7

More than 5 years have passed since last update.

[Riot.js]Maximum call stack size exceededに陥った

Posted at

Riot.jsで下記エラーに遭遇して少しだけハマりました。
Uncaught RangeError: Maximum call stack size exceeded

Maximum call stack size exceededとは

再帰関数などでreturnされずに上限まで呼び出されたときに起こります。

関数を呼び出す毎にスタックに追加してるけどもう限界ってときになります。

このエラーが出た時は再帰関数のreturn漏れを疑うのが早期解決っぽいです。

再帰関数がない

私の場合、コードを確認しても再帰してる自作関数が見つかりませんでした。
となると怪しいのはRiot.jsが提供してる関数かなと思い、this.update()周りを要確認してました。
console.log()で確認しながら探していると、自作タグの呼び出し先で繰り返しthis.update()が呼ばれているらしい。

ということでその周辺を探していると、変数名で誤字が発覚して、本来通らなくなるif文を常に通ってるせいで毎回this.update()が呼ばれていた模様。

まとめ

結果単なる誤字が原因だったんですが、子タグのupdate()が毎回呼ばれてることになかなか気づかなかったので備忘録に。

15
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
7