在我的反应应用程序中,我正在检查 web3,如下所示,但在 chrome 上安装 metamask 后,我需要至少刷新一次页面。
detectAndReadMetaMaskAccount() {
return new Promise((resolve, reject) => {
if (typeof web3 === 'undefined' || typeof web3.currentProvider === 'undefined' || web3.currentProvider.isMetaMask !== true) {
reject({
code: "error.metamask.missing"
});
}
}
以下是我正在执行的步骤:
1. 加载我的页面。
2. 在 chrome 上安装 metamask。
3. 单击调用上述函数但 web3 未定义的提交按钮。
4.但页面刷新后得到web3。
所以我的查询是,metamask 何时以及如何准确地注入 web3?有什么方法可以让 metamask 在不刷新页面的情况下注入 web3?