2017-08-01 4 views
0

ハロゲンライブラリを使用してhtmlボタンをレンダリングしようとするgithubのhttps://github.com/slamdata/purescript-halogen/blob/master/examples/basic/src/Button.purs#L42の抜粋を考えてみましょう。ステートレスでスタティックなハロゲンコンポーネントの作成方法は?

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

状態を持たない静的UIコンポーネントが必要な場合は、Halogenコンポーネントはまったく必要ありません。親コンポーネントの代わりに静的HTMLをレンダリングできますか? – babelchips

答えて

0

設定はどうですか?type State = Unit?次に、あなたのrender機能は(あなたがとにかくUnit値のうち、いずれかの情報を得ることができないので)、すなわち、単にパラメータを無視

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

ようになります。

関連する問題