どうやら 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)
}
}
みたいな形で実装できる

ログインして会話に参加
Fedibird

様々な目的に使える、日本の汎用マストドンサーバーです。安定した利用環境と、多数の独自機能を提供しています。