2016-09-25 4 views

答えて

1

私が知る限り、コールバックの通常の意味 - イベントに応答して呼び出される関数です。たとえば、React Componentには、コンポーネントのライフサイクルのさまざまな段階で呼び出されるcomponentDidMountのような多くの関数があります。 scalajs-reactでは、これらは、CallbackTo[Unit]を返す関数として実装されます。これは型エイリアスのためにCallbackと書くこともできます。たとえば、ReactComponentBcomponentDidMountコールバックを追加する場合は、def componentDidMount(f: DuringCallbackM[P, S, B, N] => Callback): ReactComponentB[P, S, B, N]を使用します。

javascriptでは、コンポーネントはただちにイベントの副作用(つまり、componentDidMount関数または他のコールバック)を実行することが予想されます。 scalajs-reactでは、コンポーネントは代わりにCallbackにこれらのエフェクトをラップし、それを返します。これにより、scalajs-reactシステムがCallbackのコードの実際の実行を遅らせることができます。これは後でrunNow()を呼び出して行います。これはまたCallbacksmap,flatMap,>>などを使用して結合されていることを意味します。runNow()が最後に呼び出されないと実行されないため、Callbackを別のコードに戻して後で実行しないと、

much more about Callback in the docsがあります。

関連する問題