🌟

re-frameのファイルの役割を見る

2023/08/16に公開

お盆休みに何かをしようとしてre-frameにたどり着いたので勉強した
https://github.com/day8/re-frame

re-frame

  • フロントエンド開発用のclojurescriptフレームワーク
  • 状態管理を司る

構成外観

基本要素は4つのファイル。view.cljs, subs.cljs, events.cljs, db.cljs
構成外観

  • view.cljs
    • いわゆるビュー
    • subs.jsにあるアイテムをsubscribeする
    • events.jsにあるイベントをdispatchする
  • subs.cljs
    • ビューモデルって言ったら怒られるかな
    • クエリレイヤーとあるけれどSQL的な意味でのクエリというよりも、app-dbの中身をビューが欲する形にクエリする
      • たとえばソートとか、フラグがtrueのみにフィルターするとか
  • events.cljs
    • ちょっとよく分からない
    • reg-event-dbreg-event-fxを使う
      • reg-event-dbは第一引数としてdbをとる
      • reg-event-fxは第一引数にcofx(coeffects)をとる
    • 副作用が有る場合とapp-db以外の外部参照が必要な場合に後者を使うと思えばいいかな
      • 例1:app-dbの他にlocalstrageを参照するような場合
      • 例2:APIを叩くような場合
  • db.cljs
    • app-dbを規定する
    • app-dbはインメモリのデータベースと思って差し支えない
    • clojureのatomであり中身はmap

Discussion