0

我正在以这种方式从 metamask ectension 初始化 web3-

componentDidMount() {
     window.addEventListener('load', function() {
        let web3 = window.web3
        web3 = new Web3(web3.currentProvider);
        console.log(web3.version)
     })
}

上面的 console.log 给出了 version 1.0.0-beta.22,但是当我web3.version在组件内的其他函数内部调用时-

handleChange = (e) => {
    let web3 = window.web3
    console.log(web3.version)
};

这里console.log(web3.version)给出version 0.20.2

我使用 npm 安装的 Web3 版本是 version 1.0.0-beta.22。我猜 0.20.2 版本是由 metamask 以某种方式注入的。我想在1.0.0-beta.22任何地方使用版本。我怎样才能做到这一点?

4

1 回答 1

0

原来我犯了一个愚蠢的错误。解决方案-

componentDidMount() {
 window.addEventListener('load', function() {
    let web3 = window.web3
    window.web3 = new Web3(web3.currentProvider);
    console.log(web3.version)
 })

}

于 2017-10-05T14:42:19.473 回答