Das React-Frontend meiner Dapp ruft die Daten erfolgreich von der privaten Blockchain (Ganache) ab und aktualisiert die Zustände entsprechend.
Wenn ich jedoch eine Funktion onClick
auslöse, die die Zustände aktualisiert, rendern die Zustände die richtigen Werte nur, wenn ich die Seite aktualisiere.
Was ist der effektivste Weg, um die Zustände nach einer MetaMask-Transaktion zu aktualisieren?
UPDATE: Ich dachte, dass es vielleicht eine Möglichkeit geben könnte, die Seite über Web3js zu aktualisieren und diesen Teil in die Promise-Funktion einzufügen?
IE onClick -> func1.then() -> aktualisieren
Aktualisieren Sie die Seite im Browser (F5)?
Wenn nicht, versuchen Sie es zuerst.
Sie können Ihr Dapp auch so programmieren, dass es die Anzeige aktualisiert, wenn es eine abgeschlossene Transaktionsquittung erhält oder ein Ereignis empfängt, dass das DApp-Display abonniert ist, das von Ihrem Smart Contract in der Transaktion ausgegeben wird.
Möglicherweise müssen Sie die Netzwerkauswahl von MetaMask (oben links im MetaMask-Popup) verwenden, um zu einem anderen Netzwerk zu wechseln (z. B. Localhost 8545) und dann zurück zu Ihrem benutzerdefinierten Ganache-Netzwerk wechseln, um den Cache zu löschen.
Dies wird nicht durch die Schaltfläche „Konto zurücksetzen“ unten im Einstellungsmenü abgedeckt, das über das dreizeilige Menü oben rechts zugänglich ist.
Dies ist ein Fehler in MetaMask.
Ruham
WBT