mirror of
https://github.com/yewstack/yew.git
synced 2025-12-08 21:26:25 +00:00
* change suffixes from md to mdx fix broken links for English locale tree shake and update docusaurus add docusaurus ideal image plugin use svg and themed image delete unused static asset * move localized landing page * change GitLocalize project page * nit pick * remove ignore to have the block checked
35 lines
2.0 KiB
Plaintext
35 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として提供されたクロージャや関数は自動的にコールバックに変換されます。
|