Web3js
MetaMask 確認後刷新頁面。Web3js 和反應()
我想在 MetaMask 確認後重新載入**React Web3 錢包的頁面。**這意味著當 ERC-20 代幣發送交易被確認時,頁面應該重新載入或狀態應該更新以顯示新的餘額。
在這個傳遞函式中,虛擬碼以“.on()”開頭:
function refreshPage() { window.location.reload(false); } transfer(recipient, amount) { this.state.waviiiToken.methods.transfer(recipient, amount).send({ from: this.state.account }) .on('confirmation' refreshPage); }
請讓我知道這是否可行,或者如果您有一個範例,我可以參考更新狀態或刷新頁面。
我在成功交易後添加了一個 window.location.reload() (我的 web3 等待功能)。這適用於本地測試網,但由於主網和其他測試網的等待時間較長,因此必須進行更多探勘。
** 編輯 **
謝謝@JaxCoder,這幫助我找到了解決方案。window.location.reload() 是其中的一部分。為了確保載入器/進度條一直執行直到收到交易的完整確認,以下是解決方案:
transfer(recipient, amount) { this.setState({ loading: true }) this.state.waviiiToken.methods.transfer(recipient, amount).send({ from: this.state.account }).on('confirmation', (reciept) => { this.setState({ loading: false }) window.location.reload() }) }