Recoil 超便利!
Recoil は Meta 社が配布する React の State 管理ライブラリだ。
React で State のバケツリレーにうんざりしていた私には便利すぎた。本日時点で、0.7.4 と experimental なライブラリであり、現在猛烈に開発が進んでいるが、とにかく便利だった。
recoil-persist
で永続化したらリロードしても使える。超便利!と、なんでもポンポン入れて開発していた。
Recoil ちょっと怖い
便利便利〜!と使っていたが、永続化が永続すぎて(?)、ちょっと怖い。state がブラウザ閉じても残ってるって何?どこに保存されてるの?まぁブラウザやろうな…となって、初めて何やってるか調べた。
localStorage に保存されていた。生で…
recoilPersist({
key: 'recoil-persist',
storage: sessionStorage,
})
こんな風にすれば、sessionStorage に保存できるが、そういうことじゃない。
生で入ってる。わぁ JSON 形式で分かりやす〜い。ちょっと書き換えてみよう。
Recoil は用法と用量を守って
Recoil は永続化すると、その情報が localStorage/sessionStorage に生で保存されるので、見られては困るようなものは入れてはいけない。ログインしたユーザの情報(名前とか)は Recoil で永続化しておいたら便利そうな気がするけど、例えば、isAdmin: true
などというような権限系の情報が入っていて、それでアクセス制限してたとすると、それはご自由にお入りください、だ。
ツールを分からんまま使ってはいけない。とは言え、Recoil は超便利なので、Recoil で永続化して良いもの、ダメなものをきちんと分類して使いましょう。気づかずリリースしてたら大事故になってたかも。引き継ぐことを念頭に、README に注意喚起しておく。