generated at
HalogenのuseState

useStateを使った感じ
purs(hs)
Hook.do width /\ widthId <- Hooks.useState Nothing
初期値を渡す
ここではたまたまNothingだっただけmrsekut
width がstate
wdithId
Hooks.put などに適用することで、setWidth的なものになる
イメージ的には、 setWidth = Hooks.put widthId
putの他にも, getやmodify, modify_などもある
State Monadと同じ
ここでsetHogeみたいな関数を使いたい場合は、
useStateFn を使うと良い
halogen-hooks-extraに入っている
purs(hs)
manyStates = Hooks.do age /\ modifyAge <- useStateFn Hooks.modify_ 42 fruit /\ setFruit <- useStateFn Hooks.put "banana" let handler :: HookM _ Unit handler = do modifyAge \n -> n + 10 setFruit "strawberry"
困ることないだろうし、使って良さそうmrsekut
強いて言えば、初期化時に状態を変更する関数(modifyとか)を渡さないといけないのがめんどいが、defaultよりはマシな感じがする