素肌にサスペンダー

個人的な備忘と日記

TypeScript

【JavaScript】JSONの一部の値を書き換えたい時の関数

ネストされたJSONオブジェクトの一部の値を書き換えたい場合、以下のような関数でできた。 第二引数のkeysに、objectの上から順に指定すればOK。 function updateJson(obj, keys, value) { let currentObj = obj; for (let i = 0; i < keys.length - 1; i++)…

【Visual Studio Code】TypeScriptファイルが色分け(ハイライト)表示されなかった時の対応

拡張機能の、JavaScript and TypeScript Nightlyのバージョンがv5.0.20221116だと、うまくいかないらしいので、v5.0.20221115にダウングレードしたらなおった。 方法 設定 > 拡張機能から検索し、アンインストールの選択メニューから、別のバージョンをイン…

【React】onClick時にevent.preventDefaultしつつ関数に引数を渡す方法

handleClick関数内でe.preventDefault()書くとうまくいかないので、JSX内の方で書く。 こんな感じで書けば大丈夫。 const handleClick = (id: string) => { console.log(id) } ... <button onClick={(e: React.MouseEvent<HTMLButtonElement>) => { e.preventDefault() handleClick(id) }} /></button>

【fabric.js】スマホのピンチ操作を有効にする方法

npmで、普通のfabric.jsを利用していた。 www.npmjs.com その場合、ピンチイン・ピンチアウトで、選択したオブジェクトの拡大・縮小ができなかった。 fabric-with-gesturesをインストールすれば、使えた。 www.npmjs.com TypeScriptの場合、npm install --sa…

【TypeScript】モジュールの宣言ファイルが見つからない時の対応

npm packageをimportして使おうとしたら、以下のようなエラーが出ることがある。 モジュール '{package name}' の宣言ファイルが見つかりませんでした。〇〇〇は暗黙的に 'any' 型になります。 npm i --save-dev @types/{package name} で、インストールでき…