Attribut ou fonction
#[Effect] nomme une méthode réutilisable. Effect() dans body ressemble au placement React et convient à un comportement local. Les deux formes coexistent.
#[Effect('search', runOnMount: false, debounce: 250, concurrency: 'latest')]
private function search(): ClientInstruction
{
return Api::get('/api/search', ['q' => $this->state('search')])
->thenSet('results');
}Éviter les réponses dépassées
Debounce attend le calme, throttle plafonne la fréquence et latest rend obsolète l’ancien résultat lorsqu’une nouvelle requête commence.
Les appels backend restent visibles
Api::get/post/put/patch/delete crée une instruction réseau explicite. Une mutation locale ne devient jamais silencieusement une requête HTTP.