エンターテイメント!!

遊戯王好きのJavaエンジニアのブログ。バーニングソウルを会得する特訓中。

Grid.jsにRowSelectionを組み込んだらエラーになったときの対処法

経緯

Grid.jsにチェックボックスが欲しかったので、gridjs-selectionを使うように変えたのだが、その際にエラーがでるようになったので、原因と対処方法載せておく

環境

Node.js: 18.15.0
OS: Windows_NT x64 10.0.22621
Typescript: 6.2
"gridjs": "^6.0.6",
"gridjs-selection": "^4.0.0",

原因

端的に言うと、importしているのが、"gridjs-selection"をimportしていたため。
何を言っているか分からねぇと思うが、Grid.jsのプラグインを使う場合は、プラグインをimportするんじゃなくて、それを読み込んだGrid.jsのプラグイン情報のやつをimportする必要があるらしい

具体的な対応方法

原因の記載ではわかりにくいので、importに書くべき内容は、以下の通り。

正:import { RowSelection } from 'gridjs/plugins/selection'; 誤:import { RowSelection } from 'gridjs-selection';

ちゃんと公式ドキュメントのインストール方法に書いてあった。。。
いつも通りの単純なnpmモジュールだと思って、npm installで入れた名前をimportに指定したら、ダメだったパターン。。。。
ちゃんと最後まで公式ドキュメント読めば良かった。。。

出てきたエラーを転記したかったけど、対処優先したせいで、内容消えてもうた。。。

感想

与えてるデータ形式が変わってないのに、グリッドの描画がうまくいかなくて、かなり焦った。
直近で変えたのは、プラグイン入れたくらいだよなぁ~とは思ってたけど、一番怪しいデータ形式を必死こいて調べてて、プラグイン見直したら瞬殺案件だったから、かなりの憤りを覚えた。

こういうことがあるから、バージョン管理導入しておいて本当に良かった。。。
たぶん、導入してなかったら、怪しい箇所がもっと候補に上がってきて、解決まで時間がかかっただろうと思う。

参考リンク

Row selection | Grid.js