2017-01-13 5 views
0

は、このevalの枝を持っている:ハロゲンで評価中にコンポーネントをレンダリングすることはできますか?私ハロゲンプロジェクトで

eval (SetTest tName next) = do 
     H.set (State Nothing) 
     detail <- H.fromAff $ toAff settings $ getTestsByTestname (tName ^. unTestName) 
     H.set (State (Just detail)) 
     pure next 

toAffビットをオフにAJAXをやって返すためにしばらく時間がかかることがあります。私のレンダリング機能では、私は単純にHTMLがレンダリングされる前に、evalは介してすべての道を走るように私のAFFのアクションが戻るまで、それが見えたときにロードスピナーを見て期待してい

, case ts of 
       Nothing -> 
       HH.div [class_ BS.centerBlock] 
        [HH.i [classes (HH.className <$> ["fa", "fa-spinner", "fa-spin", "loading"])] 
        [] 
        ] 

       Just td -> 
       HH.h3_ [HH.text $ td ^. tdName<<<unTestName] 

を持っています。これは正しいです?

編集

が、これはユーザー・エラーだっ判明 - 私が間違った順序で私のクエリを呼んでいました。未来のメス:実際に状態を設定すると、ui :-)が更新されます。

答えて

1

いいえ、evalの状態を変更するとレンダリングが開始されるはずです。 Affが本当に非同期でない場合を除き、なぜあなたがここで何を期待しているのか分からないのです。

H.fromAff $ later' 5000 $ pure <some value>のようなことを試みましたか? later'は、Control.Monad.Aff<some value>から来ており、detailに適しています。 <some value>に解決される前に、ローディングスピナーが5秒間表示されます。

関連する問題