どうやら UI 構築に大事な要素に Event, Handler, Signal(Behavior) があり、React は Signal と Handler、Vue は Signal, Handler (と一部の Event) 、Jelly は Signal、deku は Event と Signal を持ちまわして運用している
Event はクリックなどのイベントを表す(ストリーム?)
Handler は Event を Listen するもの React なら () => void これは本質的に Event の Contravariant
Signal は変化する値 Vue なら ref だし React なら Hooks によって定数扱いできるようになってる
元投稿はそれぞれが第一級で使えるに着目したもの
Event があると親のイベントで子の状態を変えることができる 例えば、親コンポーネントでボタンをクリックしたとき子コンポーネントの情報を更新するなど、これは React だと厳しい実装しかできない
逆に Handler があると子のイベントで親の状態を変えられる
子コンポーネントのボタンを押したとき、親コンポーネントの情報を更新できる
これは React だと簡単 props に Handler をとればいいから
Event と Handler はどちらも必要不可欠だけど、本質的に同じものなのでうまく提供しないと混乱のもとになるな、という知見があった
例えば Event の filter は Handler ではfiltered = (a) => { if (pred(a)) { handler(a) }}みたいな形で実装できる
様々な目的に使える、日本の汎用マストドンサーバーです。安定した利用環境と、多数の独自機能を提供しています。
Event と Handler はどちらも必要不可欠だけど、本質的に同じものなのでうまく提供しないと混乱のもとになるな、という知見があった