我正在尝试向TypeScript类型检查提供类型。这样我就可以像下面的链接中所描述的那样绕过Property 'request' does not exist on type 'EthereumProvider'
。
特别是对于window.ethereum
,我试图通过以下步骤启用它:
import { MetaMaskInpageProvider } from "@metamask/providers";
// later...
declare global {
interface Window {
ethereum: MetaMaskInpageProvider;
// ethereum: any;
}
}
就像这样。
但我明白:
(property) Window.ethereum?: MetaMaskInpageProvider
All declarations of 'ethereum' must have identical modifiers.ts(2687)
这段代码来自here。
我不明白“必须有相同的修饰语”。这是什么意思?
我没有任何其他接口来定义ethereum
。所以不是这样的。
在我的代码中,我也只通过window.ethereum.doSomething
引用"ethereum“
有什么想法吗?
而且,我不能重现这个错误,因为我不知道它是如何从一开始.
发布于 2022-06-02 21:48:24
解决办法是投球?
declare global {
interface Window {
ethereum?: MetaMaskInpageProvider; // note the ?
}
}
https://stackoverflow.com/questions/72482438
复制相似问题