mirror of
https://github.com/yewstack/yew.git
synced 2025-12-08 21:26:25 +00:00
* Docs overhaul part2 * fix links and require them for CI * remove translations for 0.17 * remove a bunch of unused documentation * run prettier * fixup links and locations of some translations
36 lines
2.0 KiB
Plaintext
36 lines
2.0 KiB
Plaintext
---
|
|
title: Callbacks
|
|
description: ComponentLink and 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 内のサービス、エージェント、親コンポーネントとの通信に使われます。
|
|
これらは単に `Fn` を `Rc` でラップしただけであり、クローンを作成できるようにするためのものです。
|
|
|
|
これらの関数には `emit` 関数があり、`<IN>` 型を引数に取り、それをアドレスが欲しいメッセージに変換します。
|
|
親からのコールバックが子コンポーネントに props で提供されている場合、子は `update` ライフサイクルフックで `emit` をコールバックに呼び出して親にメッセージを返すことができます。
|
|
マクロ内で props として提供されたクロージャや関数は自動的にコールバックに変換されます。
|