私のカスタム Halogen/Purescript プロジェクトでは、アクションを純粋なs と効果的な s に分割するAJAX の例のパターンに従います。Input
Request
この動作を使用するようにイベント ハンドラーを変更したいのですが、preventDefault
これが必要とする UI 機能のタイプにどのような結果が生じるかわかりません。
イベント ハンドラーを次のように変更して、AJAX の例に同じ変更を加えました。
前:
H.button [ A.classes [B.btn, B.btnPrimary]
, A.disabled busy
, A.onclick (\_ -> pure (handler code))
] [ H.text "Compile" ]
後:
H.a [ A.classes [B.btn, B.btnPrimary]
, A.href "#compile"
, A.disabled busy
, A.onclick (\_ -> E.preventDefault $> pure (handler code))
] [ H.text "Compile" ]
(完全な差分はこちらで入手できます)
私はこのタイプのエラーで終わります:
Cannot unify type
Example.Ajax.Input
with type
Halogen.HTML.Events.Monad.Event Halogen.HalogenEffects<(http ::
Example.Ajax.HTTP | u32519)> Example.Ajax.Input
preventDefault
この時点で、UI 関数の型シグネチャを調整する必要があるのか、修飾子を間違った方法で適用する必要があるのか、少し迷っています。