メインコンテンツまでスキップ
Version: 0.18.0

Callbacks

”リンク”コンポーネントはコンポーネントがコールバックを登録できて自身を更新することができるメカニズムです。

ComponentLink API#

callback#

実行時にコンポーネントの更新メカニズムにメッセージを送信するコールバックを登録します。 これは、渡されたクロージャから返されるメッセージで send_self を呼び出します。 Fn(IN) -> Vec<COMP::Message>が渡され、Callback<IN>が返されます。

send_message#

現在のループが終了した直後にコンポーネントにメッセージを送信し、別の更新ループを開始します。

send_message_batch#

実行時に一度に多数のメッセージを一括して送信するコールバックを登録します。 メッセージによってコンポーネントが再レンダリングされる場合、バッチ内のすべてのメッセージが処理された後、コンポーネントは再レンダリングされます。 Fn(IN) -> COMP::Messageが渡され、Callback<IN>が返されます。

コールバック#

(This might need its own short page.)

コールバックは、Yew 内のサービス、エージェント、親コンポーネントとの通信に使われます。 これらは単に FnRc でラップしただけであり、クローンを作成できるようにするためのものです。

これらの関数には emit 関数があり、<IN> 型を引数に取り、それをアドレスが欲しいメッセージに変換します。 親からのコールバックが子コンポーネントにpropsで提供されている場合、子は update ライフサイクルフックで emit をコールバックに呼び出して親にメッセージを返すことができます。 マクロ内でpropsとして提供されたクロージャや関数は自動的にコールバックに変換されます。