Ich erstelle ein Standard-Dashboard mit Next.js 13 (App Router) mit React Server- und Client-Komponenten. Ich habe eine „Beobachtungslisten“-Funktion, mit der Benutzer Aktien hinzufügen/entfernen können, und die Änderungen werden korrekt in meiner Datenbank gespeichert.
Nach dem Klicken auf die Schaltfläche „Hinzufügen/Entfernen“ wird die Benutzeroberfläche jedoch nicht sofort aktualisiert. Ich muss die Seite aktualisieren, um den Sternschalter oder die Aktualisierung der Schaltfläche „Zur Beobachtungsliste hinzufügen/entfernen“ zu sehen.
Github-Repository
Hier ist eine vereinfachte Version meines Setups: WatchlistButton (Client-Komponente):
Durch Klicken auf die Schaltfläche wird die Datenbank korrekt aktualisiert.
Aber die Benutzeroberfläche (Sternsymbol/Schaltfläche) spiegelt die Änderung nicht wider, es sei denn, ich lade die Seite neu.
Was ich versucht:
Verwenden von useState und onChange, um die Änderung an das übergeordnete Element weiterzugeben.
Die Schaltfläche zu einer kontrollierten Komponente machen, indem man sich auf isInWatchlist vom übergeordneten Element verlässt.
Entprellen der API-Aufrufe.
Frage:
Warum wird meine Benutzeroberfläche nicht sofort aktualisiert, obwohl die Datenbankaktualisierung funktioniert? Wie kann ich dafür sorgen, dass die Schaltfläche und die Suchergebnisse aktualisiert werden, ohne dass die Seite aktualisiert werden muss?
Ich vermute, dass es mit Serverkomponenten vs. Clientkomponenten in Next.js 13 zusammenhängt, bin mir aber nicht sicher, was der beste Ansatz ist.
Jede Anleitung, wie man Client- und Serverstatus für dieses Muster richtig synchronisiert, wäre dankbar!
Ich erstelle ein Standard-Dashboard mit Next.js 13 (App Router) mit React Server- und Client-Komponenten. Ich habe eine „Beobachtungslisten“-Funktion, mit der Benutzer Aktien hinzufügen/entfernen können, und die Änderungen werden korrekt in meiner Datenbank gespeichert. Nach dem Klicken auf die Schaltfläche „Hinzufügen/Entfernen“ wird die Benutzeroberfläche jedoch nicht sofort aktualisiert. Ich muss die Seite aktualisieren, um den Sternschalter oder die Aktualisierung der Schaltfläche „Zur Beobachtungsliste hinzufügen/entfernen“ zu sehen. Github-Repository Hier ist eine vereinfachte Version meines Setups: [b]WatchlistButton (Client-Komponente):[/b] [code]"use client";
import { addToWatchlist, removeFromWatchlist, } from "@/lib/actions/watchlist.actions"; import { Star, Trash2 } from "lucide-react"; import { useCallback, useEffect, useRef, useState } from "react"; import { toast } from "sonner";
//If the user closes the Search with escape remove any filters useEffect(() => { if (!open) { setSearchTerm(""); setStocks(initialStocks); } }, [open]);
); } [/code] [b]Problem:[/b] [list] [*]Durch Klicken auf die Schaltfläche wird die Datenbank korrekt aktualisiert.
[*]Aber die Benutzeroberfläche (Sternsymbol/Schaltfläche) [b]spiegelt die Änderung nicht wider[/b], es sei denn, ich lade die Seite neu.
[/list] [b]Was ich versucht:[/b] [list] [*]Verwenden von useState und onChange, um die Änderung an das übergeordnete Element weiterzugeben.
[*]Die Schaltfläche zu einer kontrollierten Komponente machen, indem man sich auf isInWatchlist vom übergeordneten Element verlässt.
[*]Entprellen der API-Aufrufe.
[/list] [b]Frage:[/b] Warum wird meine Benutzeroberfläche nicht sofort aktualisiert, obwohl die Datenbankaktualisierung funktioniert? Wie kann ich dafür sorgen, dass die Schaltfläche und die Suchergebnisse [b]aktualisiert werden, ohne dass die Seite aktualisiert werden muss[/b]? Ich vermute, dass es mit [b]Serverkomponenten vs. Clientkomponenten[/b] in Next.js 13 zusammenhängt, bin mir aber nicht sicher, was der beste Ansatz ist. Jede Anleitung, wie man Client- und Serverstatus für dieses Muster richtig synchronisiert, wäre dankbar!
Ich habe eine PHP-Seite (Dashboard), die die letzten 10 Datensätze (Taktstempel) aus der MySQL-Tabelle anzeigt. Die Taktdaten werden von einer anderen .php-Datei eingefügt, die die API-Anfrage von...
Hallo, ich füge eine news.php in meinem Hauptseitenindex ein. Php . Ich möchte die news.php alle 30 Sekunden aktualisieren, aber nicht die Hauptseitenindex.php , wie teilweise eine PHP -Seite...
Beim Ausführen meines LIBGDX -Desktop -Projekts erhalte ich manchmal diesen Fehler:
Changes are not tracked, unable determine incremental changes.
Ich habe versucht, Java 8 und 17 zu verwenden....
Derzeit habe ich eine Umfrage auf einer Website durchgeführt, an der ich arbeite. Die Umfrage muss viel geändert/zurücksetzen und auf mehreren Seiten eingebettet werden. Es gibt eine...
Ich habe eine PYQT5 -GUI, die als Frontend für eine Oracle -Datenbank dient. Eine der von mir gewünschten Funktionen ist ein Dialogfeld, mit dem der aktuelle Inhalt der Notizen der Datenbank...