Immer.js トライアル まとめ (サンプルコード置き場)

Immer.js のトライアルとして、公式ドキュメントのサンプルコードをトレースしてみました。

トレースしたコードは、以下の公式ドキュメント、Basicsパートのサンプルコードです。

※ 一部、飛ばしている部分や、動作しない部分を調整している所があります。

@ts-ignoreを多用していますが、お試しサンプルという事で、大目に見てください(汗)

サンプルコード

トレースした内容は、以下のリポジトリにテストとしてまとめています。

サンプルコードは sandbox/sandbox.test.ts にあります。

cloneした後、以下のコマンドでパッケージをインストール、テストを実行すると動作が確認できます。

yarn install
yarn run test

npmの場合は以下のコマンドで

npm install
npm run test

テストを監視する場合は、yarn run test:watchを実行してください。

感想

オブジェクトをクローンするなどして、クローン元オブジェクトに変更を加えないようにする事がよくあるのですが、Immer.js 使えば、簡単になるのかな?という気がします。

有効な場面では、極力 produce 関数を使うようにすれば、不変性が担保されて、コードの見通しが良くなりそうな気がします。

処理が重かったりすると厳しそうなので、とりあえずしばらく produce 関数を多用してみて様子を見てみたいと思います。

その他の機能については、いい場面があれば、ぽつぽつと試してみたいと思います。