2017-06-03 14 views
3

私はpurescriptとハロゲンにはまったく新しいものです。私は、html要素が存在するときにハロゲンコンポーネント(myButton)を表示しようとしています。それ以外は何もしません。html要素が存在しない場合は、ハロゲンコンポーネントを実行しないでください。

displayButton :: Eff (HA.HalogenEffects()) Unit 
displayButton = HA.runHalogenAff do 
    containerElement <- HA.selectElement (QuerySelector "#halogen-button") 
    case containerElement of 
    Nothing -> ??? 
    Just element -> runUI myButton unit element 

私は私のコードの種類をチェックし、その場合、何もしないように何も句に置くためにどのようなコードを知りません。

答えて

1

pure unitあなたに置くことができる「何もしない」であるあなたも、これは少しよりよい作るためにfor_を使用することができます。

アカウントにカリー化取る場合と同じであり、
for_ containerElement \element -> 
    runUI myButton unit element 

for_ containerElement (runUI myButton unit) 
+0

ソリューション(「純粋な単位」または「for_」のいずれも)はコンパイルされません。彼らはどちらも私にエラーを与えます: '型に一致しませんでした{query :: forall a。問い合わせa - > Aff(avar :: AVAR、ref :: REF、例外:: EXCEPTION、dom :: DOM | t2)a、subscribe :: FreeT(メッセージ待ち)(Aff(avar :: AVAR、ref :: REF 、DOM :: DOM | t2))ユニット - > Aff(avar :: AVAR、ref :: REF、例外:: EXCEPTION、dom :: DOM | t2)ユニット}ユニット ' –

+1

には2つありますpurescriptの 'for_'sです。 Control.Safelyからのものが上記のエラーを示します。しかし、Data.Foldableのコードでは、コードがコンパイルされ、完璧に動作しているようです。ありがとう。 –

+0

"何もしない"部分で動作する別の式は 'Data.Monoid.mempty'です。 –

関連する問題