考虑来自github的这个片段,https://github.com/slamdata/purescript-halogen/blob/master/examples/basic/src/Button.purs#L42尝试使用卤素库渲染html按钮。
render :: State -> H.ComponentHTML Query
render state =
let
label = if state then "On" else "Off"
in
HH.button
[ HP.title label
, HE.onClick (HE.input_ Toggle)
]
[ HH.text label ]
eval :: Query ~> H.ComponentDSL State Query Message m
eval = case _ of
Toggle next -> do
state <- H.get
let nextState = not state
H.put nextState
H.raise $ Toggled nextState
pure next
IsOn reply -> do
state <- H.get
pure (reply state)
是否有任何可能的方法来获得最“准系统”的UI控件,只是为了呈现静态UI组件,而不涉及状态?
答案 0 :(得分:1)
如何设置type State = Unit
?然后你的render
函数看起来像
render :: State -> H.ComponentHTML Query
render _ = [...]
即。只需忽略该参数(因为无论如何都无法从Unit
值中获取任何信息)。