mirror of
https://github.com/yewstack/yew.git
synced 2025-12-08 21:26:25 +00:00
* 0.20 Changelog * Improve changelog generator * Add blog post * Add blog post * Apply suggestions from code review Co-authored-by: WorldSEnder <WorldSEnder@users.noreply.github.com> Co-authored-by: Julius Lungys <32368314+voidpumpkin@users.noreply.github.com> * update Changelog * update Cargo.toml * changelog gen compiles * website version 0.20 * add migration guides * prettier * i18n Co-authored-by: WorldSEnder <WorldSEnder@users.noreply.github.com> Co-authored-by: Julius Lungys <32368314+voidpumpkin@users.noreply.github.com>
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 として提供されたクロージャや関数は自動的にコールバックに変換されます。
|