Toolverse
Wszystkie skille

gpui-event

autor: longbridge

Obsługuj zdarzenia i subskrypcje w GPUI — koordynuj komponenty za pomocą event-driven patterns

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Kategoria
Frontend

O skillu

Umiejętność do obsługi zdarzeń i subskrypcji w GPUI. Użyj jej, gdy implementujesz zdarzenia, obserwatory lub wzorce sterowane zdarzeniami. Wspiera niestandardowe zdarzenia, obserwacje zmian stanu encji oraz subskrypcje zdarzeń do koordynacji między komponentami. Definiuj typobezpieczne zdarzenia, emituj je z komponentów i nasłuchuj zmian w innych encjach — wszystko w ramach systemu zdarzeń GPUI.

Jak używać

  1. Zdefiniuj enum dla swoich zdarzeń, dodając warianty dla każdego typu zdarzenia, które chcesz emitować (np. DataUpdated z danymi lub ActionTriggered bez parametrów). Oznacz enum atrybutem #[derive(Clone)], aby umożliwić klonowanie zdarzeń.

  2. W metodzie komponentu, która zmienia stan, wyemituj zdarzenie za pomocą cx.emit(TwojZdarzenie::Wariant), a następnie wywołaj cx.notify(), aby powiadomić system o zmianie.

  3. Aby nasłuchiwać zdarzeń z innego komponentu, użyj cx.subscribe() w konstruktorze słuchacza, przekazując referencję do źródła zdarzeń i closure, który obsługuje każdy wariant zdarzenia.

  4. W closure subskrypcji dopasuj wzorzec zdarzenia (match event) i wykonaj odpowiednią akcję dla każdego wariantu, na przykład zaktualizuj stan lub wyzwól callback.

  5. Aby reagować na zmiany stanu encji bez zdefiniowanych zdarzeń, użyj cx.observe() zamiast subscribe — obserwator zostanie powiadomiony za każdym razem, gdy obserwowana encja wywoła cx.notify().

  6. Pamiętaj, aby odłączyć subskrypcje i obserwatory za pomocą .detach(), aby uniknąć wycieków pamięci i niepotrzebnych powiadomień.

Podobne skille