@MetaMask / detect-provider:处理帐户更改



我正在使用@metamask/detect-provider,当我使用我的Metamask钱包的第二个帐户时,第二个帐户在执行中不被考虑。这是执行

时总是占用的第一个帐户。

accountsChanged事件将在更改帐户时触发。所以写一个回调来处理它。我只是设置了一个状态。

useEffect(() => {
// you have to write code to detect provider. [@metamask/detect-provider][1]
// if there is no accound set it null as default
provider &&
provider.on("accountsChanged", () => setAccount(accounts[0] ?? null));
}, []);

useEffect(() => {

window.ethereum &&
window.ethereum.on("accountsChanged", () => setAccount(accounts[0] ?? null));
}, []);

最新更新