S
solidjs-patterns
Wzorce reaktywności SolidJS dla stabilnego stanu UI w OpenWork
Instalacja
Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.
Instalacja
O skillu
Skill zawiera sprawdzone wzorce zarządzania stanem w SolidJS, które eliminują błędy związane ze sprzężeniem stanu (np. globalne flagi busy() blokujące niezwiązane akcje). Uczy, jak używać sygnałów granularnych zamiast współdzielonych flag, jak zakreślać stany oczekiwania dla każdej asynchronicznej operacji osobno, oraz jak derywować stan UI za pomocą createMemo() zamiast duplikować zmienne boolowskie. Zawiera konkretne rozwiązania dla typowych problemów: deadlocków w interfejsie, migawek sygnałów w handlersach asynchronicznych i immutable updates list.
Jak używać
- Zainstaluj skill w swoim projekcie OpenWork, dodając referencję do
solidjs-patternsw konfiguracji agenta lub MCP servera. - Przeczytaj sekcję "Core rules" aby zrozumieć cztery główne zasady: preferuj sygnały granularne, zakreślaj stany asynchroniczne, derywuj UI state przez
createMemo(), unikaj mutacji wartości w sygnałach. - Dla każdej asynchronicznej akcji (np. wysyłanie formularza, pobieranie danych) utwórz dedykowany sygnał
pendingzamiast polegać na globalnymbusy()— to zapobiega blokowaniu niezwiązanych przycisków interfejsu. - Jeśli czytasz sygnały wewnątrz funkcji asynchronicznej i potrzebujesz stabilnych wartości, zrób snapshot sygnału na początku funkcji (np.
const requestID = request().id) zanim wykonasz operację asynchroniczną. - Do obliczania stanów UI (np. czy przycisk powinien być wyłączony) użyj
createMemo()zamiast ręcznego duplikowania zmiennych boolowskich — to zapewnia reaktywność bez błędów. - Przy aktualizacji list lub obiektów przechowywanych w sygnałach zawsze twórz nowe wartości zamiast mutować istniejące — użyj setter callbacków do derywowanych aktualizacji.