• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

React Rest Api nasłuchiwanie na zmianę w bazie danych.

Object Storage Arubacloud
0 głosów
423 wizyt
pytanie zadane 6 lutego 2022 w JavaScript przez Grzegorz Mikina Dyskutant (8,060 p.)
edycja 6 lutego 2022 przez Grzegorz Mikina
Mam api, ale teraz działa tylko tak, że Laravel daje mi baze danych, controller w którym mam api i ścieżki w routes api.
Do rzeczy, chce żeby ustawić zdarzenie dodania nowego rekordu do bazy i gdy do tego dojdzie, strona się renderuje i ten rekord mi się pojawia.
To jest do zrobienia? Jakieś nasłuchiwanie na bazę danych, co tutaj powinno się dziać?

2 odpowiedzi

+1 głos
odpowiedź 6 lutego 2022 przez Ehlert Ekspert (212,790 p.)
Możesz strzelać co jakiś czas z frontu do backendu po dane, ale to będzie dużo requestów.

Możesz też przy dodaniu rekordu do bazy rzucić jakimś eventem i wysłać info do frontu np. przez Socket.io.
komentarz 6 lutego 2022 przez Wiciorny Ekspert (270,590 p.)
NGRX, store albo zwykłe observable na froncie z RXJS nasłuchujące requesty asynchronicznie... wiele jest rozwiązań
0 głosów
odpowiedź 6 lutego 2022 przez CubeStorm Pasjonat (15,020 p.)

Tak, są to ciut bardziej zaawansowane techniki pracy z tym frameworkiem, ale myślę, że dasz sobie radę.

Laravel posiada takie funkcjonalności jak Events & Listeners - fajnie można przypisać wykonanie danego eventu do "akcji", jaka wywoła się w modelu, np. jeśli utworzysz event, którego zadaniem będzie wysłanie maila, to możesz go przypisać do danego modelu tworząc w nim taką właściwość:

namespace App\Models;

use App\Events\SendEmail;

class User extends Authenticatable
{
    use Notifiable;

    /**
     * The event map for the model.
     *
     * @var array
     */
    protected $dispatchesEvents = [
        'saved' => SendEmail::class,
        'deleted' => SendEmail::class
    ];
}

Od teraz za każdym razem gdy dodasz lub usuniesz (opcji jest więcej) jakiegoś usera to zadziała się logika z eventu o nazwie SendEmail.

 

Teraz należy utworzyć nasłuchiwanie tych eventów przez frontend, np używając biblioteki pusher.

 

Jest z tym trochę pracy, więc może odeślę do poradników:

Events & Listeners - tworzenie eventów, listenerów

Broadcasting - nasłuchiwanie eventów

komentarz 8 lutego 2022 przez Grzegorz Mikina Dyskutant (8,060 p.)
Chodzi mi tylko o to żeby React się zrenderował w momencie dodania nowego rekordu do bazy.
komentarz 9 lutego 2022 przez CubeStorm Pasjonat (15,020 p.)
No i właśnie sposób na to ci opisałem

Podobne pytania

+1 głos
1 odpowiedź 504 wizyt
pytanie zadane 18 czerwca 2022 w Java przez `Krzychuu Stary wyjadacz (13,940 p.)
0 głosów
1 odpowiedź 291 wizyt
pytanie zadane 24 czerwca 2020 w PHP przez xnerwo Gaduła (3,270 p.)
0 głosów
1 odpowiedź 296 wizyt

92,621 zapytań

141,477 odpowiedzi

319,817 komentarzy

62,005 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...