0

考虑来自 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 组件,而不涉及状态?

4

1 回答 1

1

怎么设置type State = Unit?然后你的render功能看起来像

render :: State -> H.ComponentHTML Query
render _ = [...]

即只是忽略参数(因为无论如何您都无法从Unit值中获取任何信息)。

于 2017-08-06T16:43:53.180 回答